
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void print_results(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  undefined3 extraout_var;
  undefined3 extraout_var_00;
  int iVar10;
  sym_content *out;
  char *pcVar11;
  undefined4 uVar12;
  undefined *puVar13;
  undefined *puVar14;
  undefined *puVar15;
  int iVar16;
  int *piVar17;
  bitset_conflict pbVar18;
  code *pcVar19;
  item_number *piVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  _Bool _Var24;
  int iVar25;
  undefined4 *puVar26;
  reductions *prVar27;
  sym_content *psVar28;
  reductions *prVar29;
  uint *puVar30;
  int iVar31;
  int iVar32;
  uint uVar33;
  symbol **ppsVar34;
  transitions *ptVar35;
  errs *peVar36;
  item_number *piVar37;
  rule **unaff_s3;
  state **unaff_s4;
  uint *puVar38;
  rule **pprVar39;
  state *unaff_s6;
  uint *puVar40;
  uint *puVar41;
  state **unaff_s8;
  state **ppsVar42;
  uniqstr pcVar43;
  uint uVar44;
  sym_content *local_dc;
  int *local_d8;
  code *local_c8;
  int *local_c4;
  undefined *local_c0;
  undefined *local_bc;
  undefined *local_b8;
  state *local_b4;
  sym_content *local_b0;
  char buffer [90];
  
  puVar9 = PTR___stack_chk_guard_0008df8c;
  puVar2 = PTR_LAB_0008d628;
  iVar10 = *(int *)PTR___stack_chk_guard_0008df8c;
  local_bc = PTR_LAB_0008d628;
  out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);
  puVar5 = PTR_max_user_token_number_0008da2c;
  reduce_output((FILE *)out);
  pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);
  grammar_rules_partial_print
            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64);
  conflicts_output((FILE *)out);
  grammar_rules_print((FILE *)out);
  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);
  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);
  puVar4 = PTR_undeftoken_0008da10;
  puVar1 = PTR_token_translations_0008d958;
  puVar6 = PTR_DAT_0008d800;
  puVar3 = PTR_LAB_0008d628;
  if (-1 < *(int *)puVar5) {
    iVar32 = 0;
    puVar13 = PTR_LAB_0008d628 + 0x4d80;
    puVar14 = PTR_LAB_0008d628 + 0x7100;
    local_c8 = (code *)PTR_LAB_0008d628;
    puVar15 = PTR_LAB_0008d628 + 0x176c;
    local_c0 = PTR_DAT_0008d800;
    do {
      while( true ) {
        puVar7 = PTR_symbols_0008d7a4;
        unaff_s4 = (state **)(iVar32 * 4);
        local_dc = out;
        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==
            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;
        unaff_s3 = (rule **)**(undefined4 **)
                              (*(int *)PTR_symbols_0008d7a4 +
                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);
        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);
        buffer[0] = '\0';
        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);
        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);
        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {
          unaff_s6 = (state *)0x3;
          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);
          buffer[0] = '\0';
        }
        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4
                                      ) + 0x28) + 4) != 0) {
          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);
          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);
          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);
          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {
            unaff_s6 = (state *)0x3;
            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);
            buffer[0] = '\0';
          }
        }
        puVar8 = PTR_nrules_0008d7c8;
        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);
        puVar7 = PTR_rules_0008d784;
        if (0 < *(int *)puVar8) {
          unaff_s3 = (rule **)0x0;
          iVar16 = 0;
LAB_0003b85c:
          do {
            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);
            iVar25 = *piVar17;
            unaff_s8 = (state **)puVar7;
            if (-1 < iVar25) {
              do {
                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {
                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);
                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {
                    unaff_s6 = (state *)0x3;
                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);
                    buffer[0] = '\0';
                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);
                  }
                  iVar31 = iVar16 + 1;
                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)
                  ;
                  unaff_s3 = unaff_s3 + 0x18;
                  iVar16 = iVar31;
                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;
                  goto LAB_0003b8bc;
                }
                piVar17 = piVar17 + 1;
                iVar25 = *piVar17;
              } while (-1 < iVar25);
            }
            iVar16 = iVar16 + 1;
            unaff_s3 = unaff_s3 + 0x18;
          } while (iVar16 < *(int *)puVar8);
        }
LAB_0003b8bc:
        iVar32 = iVar32 + 1;
        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);
        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;
      }
      iVar32 = iVar32 + 1;
    } while (iVar32 <= *(int *)puVar5);
  }
LAB_0003b8ec:
  puVar1 = PTR_nsyms_0008d7bc;
  puVar6 = PTR_ntokens_0008d77c;
  puVar3 = PTR_LAB_0008d628;
  local_c4 = (int *)PTR_nsyms_0008d7bc;
  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out);
  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);
  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);
  prVar29 = *(reductions **)puVar6;
  if (*(int *)puVar1 <= (int)prVar29) goto LAB_0003bb54;
  local_d8 = (int *)PTR_symbols_0008d7a4;
  unaff_s8 = (state **)buffer;
  local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c);
  local_c0 = PTR_LAB_0008d628;
  local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80);
  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);
  local_bc = PTR_LAB_0008d628;
  local_b8 = PTR_DAT_0008d800;
  local_b0 = (sym_content *)PTR_LAB_0008d628;
  unaff_s6 = (state *)PTR_nrules_0008d7c8;
  do {
    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);
    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);
    if (unaff_s6->number < 1) {
      unaff_s4 = (state **)0x0;
      iVar16 = 0;
    }
    else {
      unaff_s4 = (state **)0x0;
      iVar16 = 0;
      iVar25 = *(int *)PTR_rules_0008d784;
      iVar31 = unaff_s6->number * 0x60 + iVar25;
      do {
        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {
          iVar16 = iVar16 + 1;
        }
        piVar17 = *(int **)(iVar25 + 0xc);
        prVar27 = (reductions *)*piVar17;
        while (-1 < (int)prVar27) {
          piVar17 = piVar17 + 1;
          if (prVar27 == prVar29) {
            unaff_s4 = (state **)((int)unaff_s4 + 1);
            break;
          }
          prVar27 = (reductions *)*piVar17;
        }
        iVar25 = iVar25 + 0x60;
      } while (iVar31 != iVar25);
    }
    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);
    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {
      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);
      iVar32 = iVar32 + iVar25;
    }
    buffer[0] = '\0';
    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);
    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);
    if ((int)unaff_s3 + iVar32 == 0) {
      if (iVar16 != 0) goto LAB_0003ca94;
    }
    else {
      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);
      buffer[0] = '\0';
      if (iVar16 != 0) {
        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;
        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);
        buffer[0] = '\0';
        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        goto LAB_0003ca90;
      }
      iVar32 = 3;
    }
    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;
    while( true ) {
      prVar29 = (reductions *)((int)&prVar29->num + 1);
      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);
      if ((int)prVar29 < *local_c4) break;
LAB_0003bb54:
      puVar2 = PTR_report_flag_0008d71c;
      local_c4 = (int *)PTR_report_flag_0008d71c;
      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {
        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);
      }
      puVar5 = PTR_nstates_0008d698;
      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;
      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;
      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);
      iVar32 = *(int *)puVar5;
      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;
      puVar13 = PTR_states_0008d7f8;
      puVar4 = PTR_LAB_0008d628;
      prVar29 = (reductions *)puVar5;
      if (0 < iVar32) {
        local_c0 = (undefined *)0x0;
        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);
        local_bc = PTR_DAT_0008d800 + -0x4654;
        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);
        do {
          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);
          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);
          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);
          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);
          pcVar11 = (out->type_location).end.file;
          if (pcVar11 < (char *)(out->type_location).end.line) {
            (out->type_location).end.file = pcVar11 + 1;
            *pcVar11 = '\n';
          }
          else {
            (*(code *)PTR___overflow_0008de84)(out,10);
          }
          piVar37 = unaff_s6->items;
          ppsVar42 = (state **)unaff_s6->nitems;
          if ((*(uint *)puVar2 & 2) != 0) {
            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);
            piVar37 = *(item_number **)PTR_itemset_0008d7e4;
            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;
          }
          unaff_s8 = ppsVar42;
          if (ppsVar42 != (state **)0x0) {
            pcVar11 = (out->type_location).end.file;
            if (pcVar11 < (char *)(out->type_location).end.line) {
              (out->type_location).end.file = pcVar11 + 1;
              *pcVar11 = '\n';
            }
            else {
              (*(code *)PTR___overflow_0008de84)(out,10);
            }
            unaff_s4 = (state **)PTR_symbols_0008d7a4;
            unaff_s3 = (rule **)PTR_rules_0008d784;
            unaff_s8 = (state **)PTR_ritem_0008d780;
            piVar20 = piVar37 + (int)ppsVar42;
            local_dc = (sym_content *)0x0;
            local_b8 = PTR_LAB_0008d628 + 0x7138;
            do {
              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);
              uVar33 = *puVar30;
              puVar38 = puVar30;
              while (-1 < (int)uVar33) {
                puVar38 = puVar38 + 1;
                uVar33 = *puVar38;
              }
              iVar32 = ~uVar33 * 0x60;
              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);
              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);
              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);
              puVar40 = puVar38;
              if (puVar38 < puVar30) {
                do {
                  puVar41 = puVar40 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));
                  puVar40 = puVar41;
                } while (puVar41 < puVar30);
                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;
              }
              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);
              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {
                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);
              }
              else {
                uVar33 = *puVar38;
                while (-1 < (int)uVar33) {
                  puVar38 = puVar38 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));
                  uVar33 = *puVar38;
                }
              }
              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {
                pcVar11 = (out->type_location).end.file;
                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;
LAB_0003c60c:
                (*(code *)PTR___overflow_0008de84)(out,10);
              }
              else {
                state_rule_lookahead_tokens_print
                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);
                pcVar11 = (out->type_location).end.file;
                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;
LAB_0003be58:
                (out->type_location).end.file = pcVar11 + 1;
                *pcVar11 = '\n';
              }
              piVar37 = piVar37 + 1;
            } while (piVar20 != piVar37);
          }
          (*pcVar19)(unaff_s6->transitions,out,1);
          peVar36 = unaff_s6->errs;
          piVar17 = (int *)peVar36->num;
          if (0 < (int)piVar17) {
            ppsVar34 = peVar36->symbols;
            uVar33 = 0;
            unaff_s4 = (state **)0x0;
            unaff_s3 = (rule **)ppsVar34;
            do {
              if ((*unaff_s3 != (rule *)0x0) &&
                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),
                 uVar33 < uVar21)) {
                uVar33 = uVar21;
              }
              unaff_s4 = (state **)((int)unaff_s4 + 1);
              unaff_s3 = unaff_s3 + 1;
            } while (unaff_s4 != (state **)piVar17);
            if (uVar33 != 0) {
              pcVar11 = (out->type_location).end.file;
              if (pcVar11 < (char *)(out->type_location).end.line) {
                (out->type_location).end.file = pcVar11 + 1;
                *pcVar11 = '\n';
              }
              else {
                (*(code *)PTR___overflow_0008de84)(out,10);
              }
              iVar32 = peVar36->num;
              if (0 < iVar32) {
                unaff_s3 = (rule **)0x0;
                puVar14 = PTR_LAB_0008d628 + 0x7028;
                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);
                do {
                  while (*ppsVar34 != (symbol *)0x0) {
                    pcVar43 = (*ppsVar34)->tag;
                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);
                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);
                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);
                    if (0 < (int)unaff_s8) {
                      do {
                        pcVar11 = (out->type_location).end.file;
                        if (pcVar11 < (char *)(out->type_location).end.line) {
                          (out->type_location).end.file = pcVar11 + 1;
                          *pcVar11 = ' ';
                        }
                        else {
                          (*(code *)PTR___overflow_0008de84)(out,0x20);
                        }
                        unaff_s8 = (state **)((int)unaff_s8 + -1);
                      } while (unaff_s8 != (state **)0x0);
                    }
                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);
                    unaff_s3 = (rule **)((int)unaff_s3 + 1);
                    ppsVar34 = ppsVar34 + 1;
                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);
                    iVar32 = peVar36->num;
                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;
                  }
                  unaff_s3 = (rule **)((int)unaff_s3 + 1);
                  ppsVar34 = ppsVar34 + 1;
                } while ((int)unaff_s3 < iVar32);
              }
            }
          }
LAB_0003bfe0:
          prVar29 = unaff_s6->reductions;
          if (prVar29->num == 0) {
LAB_0003c4e4:
            ptVar35 = unaff_s6->transitions;
          }
          else {
            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);
            if (iVar32 == 0) {
              local_dc = (sym_content *)0x0;
            }
            else {
              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);
              unaff_s3 = (rule **)PTR_rules_0008d784;
            }
            ptVar35 = unaff_s6->transitions;
            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));
            iVar32 = ptVar35->num;
            if (0 < iVar32) {
              unaff_s4 = ptVar35->states;
              unaff_s3 = (rule **)0x0;
LAB_0003c088:
              do {
                if (*unaff_s4 != (state *)0x0) {
                  uVar33 = (*unaff_s4)->accessing_symbol;
                  if (*(int *)puVar6 <= (int)uVar33) break;
                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar21 = (uVar33 >> 5) - puVar26[1];
                  if ((uint)puVar26[2] <= uVar21) {
                    unaff_s3 = (rule **)((int)unaff_s3 + 1);
                    unaff_s4 = unaff_s4 + 1;
                    (**(code **)*puVar26)();
                    iVar32 = ptVar35->num;
                    if (iVar32 <= (int)unaff_s3) break;
                    goto LAB_0003c088;
                  }
                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);
                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);
                }
                unaff_s3 = (rule **)((int)unaff_s3 + 1);
                unaff_s4 = unaff_s4 + 1;
              } while ((int)unaff_s3 < iVar32);
            }
            peVar36 = unaff_s6->errs;
            iVar32 = 0;
            if (0 < peVar36->num) {
LAB_0003c138:
              do {
                if (peVar36->symbols[iVar32] != (symbol *)0x0) {
                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar21 = peVar36->symbols[iVar32]->content->number;
                  uVar33 = (uVar21 >> 5) - puVar26[1];
                  if ((uint)puVar26[2] <= uVar33) {
                    iVar32 = iVar32 + 1;
                    (**(code **)*puVar26)();
                    peVar36 = unaff_s6->errs;
                    if (peVar36->num <= iVar32) break;
                    goto LAB_0003c138;
                  }
                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);
                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);
                }
                iVar32 = iVar32 + 1;
              } while (iVar32 < peVar36->num);
            }
            if (local_dc != (sym_content *)0x0) {
              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);
              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {
LAB_0003c1e8:
                unaff_s4 = (state **)PTR_symbols_0008d7a4;
                uVar21 = 0;
                do {
                  piVar17 = *(int **)(puVar1 + -0x1cf0);
                  uVar22 = (uVar21 >> 5) - piVar17[1];
                  if (uVar22 < (uint)piVar17[2]) {
                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;
                  }
                  else {
                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);
                  }
                  unaff_s8 = (state **)prVar29->num;
                  pprVar39 = prVar29->rules;
                  unaff_s3 = pprVar39;
                  if (0 < (int)unaff_s8) {
                    local_b8 = (undefined *)(uVar21 & 0x1f);
                    unaff_s3 = (rule **)0x0;
                    do {
                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];
                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;
                      if (uVar23 < (pbVar18->b).csize) {
                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;
                      }
                      else {
                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);
                        uVar23 = CONCAT31(extraout_var,_Var24);
                        unaff_s8 = (state **)prVar29->num;
                      }
                      if (uVar23 != 0) {
                        if (uVar22 == 0) {
                          uVar22 = uVar23;
                          if ((local_dc != (sym_content *)*pprVar39) &&
                             (uVar23 = (*(code *)PTR_strlen_0008def8)
                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),
                             uVar33 < uVar23)) {
                            uVar33 = uVar23;
                          }
                        }
                        else {
                          uVar23 = (*(code *)PTR_strlen_0008def8)
                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));
                          if (uVar33 < uVar23) {
                            uVar33 = uVar23;
                          }
                        }
                      }
                      unaff_s3 = (rule **)((int)unaff_s3 + 1);
                      pprVar39 = pprVar39 + 1;
                    } while ((int)unaff_s3 < (int)unaff_s8);
                  }
                  uVar21 = uVar21 + 1;
                  local_b4 = unaff_s6;
                  local_b0 = out;
                } while ((int)uVar21 < *(int *)puVar6);
              }
              if (uVar33 != 0) {
                pcVar11 = (out->type_location).end.file;
                if (pcVar11 < (char *)(out->type_location).end.line) {
                  (out->type_location).end.file = pcVar11 + 1;
                  *pcVar11 = '\n';
                }
                else {
                  (*(code *)PTR___overflow_0008de84)(out,10);
                }
                puVar14 = PTR_symbols_0008d7a4;
                iVar32 = uVar33 + 2;
                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {
                  unaff_s8 = (state **)0x1;
                }
                else {
                  unaff_s8 = (state **)0x1;
                  if (0 < *(int *)puVar6) {
                    uVar33 = 0;
                    unaff_s8 = (state **)0x1;
                    do {
                      piVar17 = *(int **)(puVar1 + -0x1cf0);
                      local_b8 = (undefined *)(uVar33 >> 5);
                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {
                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>
                                 (uVar33 & 0x1f) & 1;
                      }
                      else {
                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);
                      }
                      if (uVar21 != 0) {
                        unaff_s8 = (state **)0x0;
                      }
                      if (0 < prVar29->num) {
                        iVar25 = uVar33 * 4;
                        unaff_s3 = prVar29->rules;
                        local_b0 = (sym_content *)&local_dc->type_name;
                        iVar16 = 0;
                        local_b4 = (state *)(uVar33 & 0x1f);
                        uVar22 = 0;
                        do {
                          pbVar18 = prVar29->lookahead_tokens[iVar16];
                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;
                          if (uVar23 < (pbVar18->b).csize) {
                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;
                          }
                          else {
                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);
                            uVar23 = CONCAT31(extraout_var_00,_Var24);
                          }
                          uVar44 = uVar22;
                          if (uVar23 != 0) {
                            if (uVar21 == 0) {
                              psVar28 = (sym_content *)*unaff_s3;
                              uVar21 = uVar23;
                              uVar44 = uVar23;
                              if (local_dc != psVar28) {
                                unaff_s8 = (state **)0x0;
                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),
                                            &psVar28->type_name,&psVar28->type_location,1);
                                uVar44 = uVar22;
                              }
                            }
                            else {
                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);
                              if (uVar22 != 0) {
                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);
                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);
                              }
                              unaff_s8 = (state **)0x0;
                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,
                                          &(*unaff_s3)->lhs,0);
                              uVar44 = 0;
                            }
                          }
                          iVar16 = iVar16 + 1;
                          unaff_s3 = unaff_s3 + 1;
                          unaff_s4 = unaff_s8;
                          uVar22 = uVar44;
                        } while (iVar16 < prVar29->num);
                      }
                      uVar33 = uVar33 + 1;
                    } while ((int)uVar33 < *(int *)puVar6);
                  }
                }
                if (local_dc != (sym_content *)0x0) {
                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);
                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);
                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);
                  if (((iVar32 != 0) &&
                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),
                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&
                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {
                    (*(code *)PTR___assert_fail_0008de30)
                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,
                               PTR_LAB_0008d628 + 0x7220);
                    return;
                  }
                  (*(code *)PTR_free_0008df9c)(pcVar11);
                }
              }
              goto LAB_0003c4e4;
            }
            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;
            uVar33 = 0;
            if (0 < *(int *)puVar6) goto LAB_0003c1e8;
            ptVar35 = unaff_s6->transitions;
          }
          (*pcVar19)(ptVar35,out,0);
          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {
            pcVar11 = (out->type_location).end.file;
            if (pcVar11 < (char *)(out->type_location).end.line) {
              (out->type_location).end.file = pcVar11 + 1;
              *pcVar11 = '\n';
            }
            else {
              (*(code *)PTR___overflow_0008de84)(out,10);
            }
            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);
          }
          local_c0 = local_c0 + 1;
        } while ((int)local_c0 < *(int *)puVar5);
        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);
      }
      bitset_free(pbVar18);
      if ((*(uint *)puVar2 & 2) != 0) {
        (*(code *)PTR_free_closure_0008d7f4)();
      }
      xfclose((FILE *)out);
      if (iVar10 == *(int *)puVar9) {
        return;
      }
      (*(code *)PTR___stack_chk_fail_0008df68)();
LAB_0003ca90:
      iVar32 = 3;
LAB_0003ca94:
      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);
      (*(code *)PTR___sprintf_chk_0008de24)
                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);
      if (0 < unaff_s6->number) {
        iVar16 = 0;
        iVar25 = 0;
        do {
          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)
          {
            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            if (0x41 < (uint)(iVar32 + iVar10)) {
              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);
              buffer[0] = '\0';
              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            }
            (*(code *)PTR___sprintf_chk_0008de24)
                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);
            FUN_0003cae0();
            return;
          }
          iVar25 = iVar25 + 1;
          iVar16 = iVar16 + 0x60;
          unaff_s3 = (rule **)PTR_rules_0008d784;
        } while (iVar25 < unaff_s6->number);
      }
      if (unaff_s4 != (state **)0x0) {
        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;
        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;
LAB_0003c910:
        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        if (0x41 < (uint)(iVar32 + iVar16)) {
          iVar32 = 3;
          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);
          buffer[0] = '\0';
          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        }
        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);
        (*(code *)PTR___sprintf_chk_0008de24)
                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);
        puVar2 = PTR_rules_0008d784;
        if (0 < unaff_s6->number) {
          unaff_s4 = (state **)0x0;
          iVar16 = 0;
          do {
            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);
            prVar27 = (reductions *)*puVar26;
            if ((int)prVar27 < 0) {
              iVar25 = unaff_s6->number;
            }
            else {
              do {
                puVar26 = puVar26 + 1;
                if (prVar27 == prVar29) {
                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  if (0x41 < (uint)(iVar32 + iVar25)) {
                    iVar32 = 3;
                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);
                    buffer[0] = '\0';
                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  }
                  (*(code *)PTR___sprintf_chk_0008de24)
                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);
                  break;
                }
                prVar27 = (reductions *)*puVar26;
              } while (-1 < (int)prVar27);
              iVar25 = unaff_s6->number;
            }
            iVar16 = iVar16 + 1;
            unaff_s4 = unaff_s4 + 0x18;
            unaff_s3 = (rule **)puVar2;
          } while (iVar16 < iVar25);
        }
      }
    }
  } while( true );
}



void print_results(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  undefined4 uVar11;
  undefined *puVar12;
  undefined *puVar13;
  undefined *puVar14;
  int iVar15;
  int *piVar16;
  code *pcVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  undefined4 uVar21;
  undefined1 *puVar22;
  int iVar23;
  int *piVar24;
  undefined4 *puVar25;
  int *piVar26;
  uint *puVar27;
  int iVar28;
  int iVar29;
  uint uVar30;
  int *unaff_s3;
  int *unaff_s4;
  uint *puVar31;
  int *unaff_s6;
  uint *puVar32;
  uint *puVar33;
  int *unaff_s8;
  uint uVar34;
  undefined *local_dc;
  int *local_d8;
  code *local_c8;
  int *local_c4;
  undefined *local_c0;
  undefined *local_bc;
  undefined *local_b8;
  int *local_b4;
  undefined *local_b0;
  int local_88 [23];
  int local_2c;
  
  puVar9 = PTR___stack_chk_guard_0008df8c;
  puVar2 = PTR_LAB_0008d628;
  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;
  local_bc = PTR_LAB_0008d628;
  puVar10 = (undefined *)
            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);
  puVar5 = PTR_max_user_token_number_0008da2c;
  reduce_output(puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);
  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);
  conflicts_output(puVar10);
  grammar_rules_print(puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);
  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);
  puVar4 = PTR_undeftoken_0008da10;
  puVar1 = PTR_token_translations_0008d958;
  puVar6 = PTR_DAT_0008d800;
  puVar3 = PTR_LAB_0008d628;
  if (-1 < *(int *)puVar5) {
    iVar29 = 0;
    puVar12 = PTR_LAB_0008d628 + 0x4d80;
    puVar13 = PTR_LAB_0008d628 + 0x7100;
    local_c8 = (code *)PTR_LAB_0008d628;
    puVar14 = PTR_LAB_0008d628 + 0x176c;
    local_c0 = PTR_DAT_0008d800;
    do {
      while( true ) {
        puVar7 = PTR_symbols_0008d7a4;
        unaff_s4 = (int *)(iVar29 * 4);
        local_dc = puVar10;
        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==
            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;
        unaff_s3 = (int *)**(undefined4 **)
                            (*(int *)PTR_symbols_0008d7a4 +
                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);
        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);
        local_88[0]._0_1_ = 0;
        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);
        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);
        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {
          unaff_s6 = (int *)0x3;
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
          local_88[0]._0_1_ = 0;
        }
        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4
                                      ) + 0x28) + 4) != 0) {
          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);
          unaff_s6 = (int *)((int)unaff_s6 + iVar15);
          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);
          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {
            unaff_s6 = (int *)0x3;
            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
            local_88[0]._0_1_ = 0;
          }
        }
        puVar8 = PTR_nrules_0008d7c8;
        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);
        puVar7 = PTR_rules_0008d784;
        if (0 < *(int *)puVar8) {
          unaff_s3 = (int *)0x0;
          iVar15 = 0;
LAB_0003b85c:
          do {
            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);
            iVar23 = *piVar16;
            unaff_s8 = (int *)puVar7;
            if (-1 < iVar23) {
              do {
                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {
                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);
                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {
                    unaff_s6 = (int *)0x3;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
                    local_88[0]._0_1_ = 0;
                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);
                  }
                  iVar28 = iVar15 + 1;
                  (*(code *)PTR___sprintf_chk_0008de24)
                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);
                  unaff_s3 = unaff_s3 + 0x18;
                  iVar15 = iVar28;
                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;
                  goto LAB_0003b8bc;
                }
                piVar16 = piVar16 + 1;
                iVar23 = *piVar16;
              } while (-1 < iVar23);
            }
            iVar15 = iVar15 + 1;
            unaff_s3 = unaff_s3 + 0x18;
          } while (iVar15 < *(int *)puVar8);
        }
LAB_0003b8bc:
        iVar29 = iVar29 + 1;
        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);
        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;
      }
      iVar29 = iVar29 + 1;
    } while (iVar29 <= *(int *)puVar5);
  }
LAB_0003b8ec:
  puVar1 = PTR_nsyms_0008d7bc;
  puVar6 = PTR_ntokens_0008d77c;
  puVar3 = PTR_LAB_0008d628;
  local_c4 = (int *)PTR_nsyms_0008d7bc;
  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);
  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);
  piVar16 = *(int **)puVar6;
  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;
  local_d8 = (int *)PTR_symbols_0008d7a4;
  unaff_s8 = local_88;
  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);
  local_c0 = PTR_LAB_0008d628;
  local_dc = PTR_LAB_0008d628 + 0x4d80;
  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);
  local_bc = PTR_LAB_0008d628;
  local_b8 = PTR_DAT_0008d800;
  local_b0 = PTR_LAB_0008d628;
  unaff_s6 = (int *)PTR_nrules_0008d7c8;
  do {
    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);
    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);
    if (*unaff_s6 < 1) {
      unaff_s4 = (int *)0x0;
      iVar15 = 0;
    }
    else {
      unaff_s4 = (int *)0x0;
      iVar15 = 0;
      iVar23 = *(int *)PTR_rules_0008d784;
      iVar28 = *unaff_s6 * 0x60 + iVar23;
      do {
        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {
          iVar15 = iVar15 + 1;
        }
        piVar24 = *(int **)(iVar23 + 0xc);
        piVar26 = (int *)*piVar24;
        while (-1 < (int)piVar26) {
          piVar24 = piVar24 + 1;
          if (piVar26 == piVar16) {
            unaff_s4 = (int *)((int)unaff_s4 + 1);
            break;
          }
          piVar26 = (int *)*piVar24;
        }
        iVar23 = iVar23 + 0x60;
      } while (iVar28 != iVar23);
    }
    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);
    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {
      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);
      iVar29 = iVar29 + iVar23;
    }
    local_88[0]._0_1_ = 0;
    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);
    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
    if ((int)unaff_s3 + iVar29 == 0) {
      if (iVar15 != 0) goto LAB_0003ca94;
    }
    else {
      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
      local_88[0]._0_1_ = 0;
      if (iVar15 != 0) {
        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;
        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
        local_88[0]._0_1_ = 0;
        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        goto LAB_0003ca90;
      }
      iVar29 = 3;
    }
    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;
    while( true ) {
      piVar16 = (int *)((int)piVar16 + 1);
      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);
      if ((int)piVar16 < *local_c4) break;
LAB_0003bb54:
      puVar2 = PTR_report_flag_0008d71c;
      local_c4 = (int *)PTR_report_flag_0008d71c;
      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {
        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);
      }
      puVar5 = PTR_nstates_0008d698;
      puVar1 = PTR_DAT_0008d618;
      local_d8 = (int *)PTR_DAT_0008d618;
      uVar11 = bitset_create(*(undefined4 *)puVar6,1);
      iVar29 = *(int *)puVar5;
      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;
      puVar12 = PTR_states_0008d7f8;
      puVar4 = PTR_LAB_0008d628;
      piVar16 = (int *)puVar5;
      if (0 < iVar29) {
        local_c0 = (undefined *)0x0;
        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);
        local_bc = PTR_DAT_0008d800 + -0x4654;
        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);
        do {
          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);
          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);
          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);
          puVar22 = *(undefined1 **)(puVar10 + 0x14);
          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
            *puVar22 = 10;
          }
          else {
            (*(code *)PTR___overflow_0008de84)(puVar10,10);
          }
          piVar24 = unaff_s6 + 10;
          piVar16 = (int *)unaff_s6[9];
          if ((*(uint *)puVar2 & 2) != 0) {
            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);
            piVar24 = *(int **)PTR_itemset_0008d7e4;
            piVar16 = *(int **)PTR_nitemset_0008d7d8;
          }
          unaff_s8 = piVar16;
          if (piVar16 != (int *)0x0) {
            puVar22 = *(undefined1 **)(puVar10 + 0x14);
            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
              *puVar22 = 10;
            }
            else {
              (*(code *)PTR___overflow_0008de84)(puVar10,10);
            }
            unaff_s4 = (int *)PTR_symbols_0008d7a4;
            unaff_s3 = (int *)PTR_rules_0008d784;
            unaff_s8 = (int *)PTR_ritem_0008d780;
            piVar16 = piVar24 + (int)piVar16;
            local_dc = (undefined *)0x0;
            local_b8 = PTR_LAB_0008d628 + 0x7138;
            do {
              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);
              uVar30 = *puVar27;
              puVar31 = puVar27;
              while (-1 < (int)uVar30) {
                puVar31 = puVar31 + 1;
                uVar30 = *puVar31;
              }
              iVar29 = ~uVar30 * 0x60;
              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);
              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);
              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);
              puVar32 = puVar31;
              if (puVar31 < puVar27) {
                do {
                  puVar33 = puVar32 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));
                  puVar32 = puVar33;
                } while (puVar33 < puVar27);
                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;
              }
              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);
              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {
                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);
              }
              else {
                uVar30 = *puVar31;
                while (-1 < (int)uVar30) {
                  puVar31 = puVar31 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));
                  uVar30 = *puVar31;
                }
              }
              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;
LAB_0003c60c:
                (*(code *)PTR___overflow_0008de84)(puVar10,10);
              }
              else {
                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;
LAB_0003be58:
                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                *puVar22 = 10;
              }
              piVar24 = piVar24 + 1;
            } while (piVar16 != piVar24);
          }
          (*pcVar17)(unaff_s6[2],puVar10,1);
          piVar16 = (int *)unaff_s6[4];
          piVar24 = (int *)*piVar16;
          if (0 < (int)piVar24) {
            piVar26 = piVar16 + 1;
            uVar30 = 0;
            unaff_s4 = (int *)0x0;
            unaff_s3 = piVar26;
            do {
              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&
                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18
                 )) {
                uVar30 = uVar18;
              }
              unaff_s4 = (int *)((int)unaff_s4 + 1);
              unaff_s3 = unaff_s3 + 1;
            } while (unaff_s4 != piVar24);
            if (uVar30 != 0) {
              puVar22 = *(undefined1 **)(puVar10 + 0x14);
              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                *puVar22 = 10;
              }
              else {
                (*(code *)PTR___overflow_0008de84)(puVar10,10);
              }
              iVar29 = *piVar16;
              if (0 < iVar29) {
                unaff_s3 = (int *)0x0;
                puVar13 = PTR_LAB_0008d628 + 0x7028;
                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);
                do {
                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {
                    uVar11 = *(undefined4 *)*piVar26;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);
                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);
                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);
                    if (0 < (int)unaff_s8) {
                      do {
                        puVar22 = *(undefined1 **)(puVar10 + 0x14);
                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                          *puVar22 = 0x20;
                        }
                        else {
                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);
                        }
                        unaff_s8 = (int *)((int)unaff_s8 + -1);
                      } while (unaff_s8 != (int *)0x0);
                    }
                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);
                    unaff_s3 = (int *)((int)unaff_s3 + 1);
                    piVar26 = piVar26 + 1;
                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);
                    iVar29 = *piVar16;
                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;
                  }
                  unaff_s3 = (int *)((int)unaff_s3 + 1);
                  piVar26 = piVar26 + 1;
                } while ((int)unaff_s3 < iVar29);
              }
            }
          }
LAB_0003bfe0:
          piVar16 = (int *)unaff_s6[3];
          if (*piVar16 == 0) {
LAB_0003c4e4:
            iVar29 = unaff_s6[2];
          }
          else {
            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);
            if (iVar29 == 0) {
              local_dc = (undefined *)0x0;
            }
            else {
              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);
              unaff_s3 = (int *)PTR_rules_0008d784;
            }
            piVar24 = (int *)unaff_s6[2];
            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));
            iVar29 = *piVar24;
            if (0 < iVar29) {
              unaff_s4 = piVar24 + 1;
              unaff_s3 = (int *)0x0;
LAB_0003c088:
              do {
                if (*unaff_s4 != 0) {
                  uVar30 = *(uint *)(*unaff_s4 + 4);
                  if (*(int *)puVar6 <= (int)uVar30) break;
                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar18 = (uVar30 >> 5) - puVar25[1];
                  if ((uint)puVar25[2] <= uVar18) {
                    unaff_s3 = (int *)((int)unaff_s3 + 1);
                    unaff_s4 = unaff_s4 + 1;
                    (**(code **)*puVar25)();
                    iVar29 = *piVar24;
                    if (iVar29 <= (int)unaff_s3) break;
                    goto LAB_0003c088;
                  }
                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);
                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);
                }
                unaff_s3 = (int *)((int)unaff_s3 + 1);
                unaff_s4 = unaff_s4 + 1;
              } while ((int)unaff_s3 < iVar29);
            }
            piVar24 = (int *)unaff_s6[4];
            iVar29 = 0;
            if (0 < *piVar24) {
LAB_0003c138:
              do {
                if (piVar24[iVar29 + 1] != 0) {
                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);
                  uVar30 = (uVar18 >> 5) - puVar25[1];
                  if ((uint)puVar25[2] <= uVar30) {
                    iVar29 = iVar29 + 1;
                    (**(code **)*puVar25)();
                    piVar24 = (int *)unaff_s6[4];
                    if (*piVar24 <= iVar29) break;
                    goto LAB_0003c138;
                  }
                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);
                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);
                }
                iVar29 = iVar29 + 1;
              } while (iVar29 < *piVar24);
            }
            if (local_dc != (undefined *)0x0) {
              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);
              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {
LAB_0003c1e8:
                unaff_s4 = (int *)PTR_symbols_0008d7a4;
                uVar18 = 0;
                do {
                  piVar24 = *(int **)(puVar1 + -0x1cf0);
                  uVar19 = (uVar18 >> 5) - piVar24[1];
                  if (uVar19 < (uint)piVar24[2]) {
                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;
                  }
                  else {
                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);
                  }
                  unaff_s8 = (int *)*piVar16;
                  piVar24 = piVar16 + 2;
                  unaff_s3 = piVar24;
                  if (0 < (int)unaff_s8) {
                    local_b8 = (undefined *)(uVar18 & 0x1f);
                    unaff_s3 = (int *)0x0;
                    do {
                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);
                      uVar20 = (uVar18 >> 5) - piVar26[1];
                      if (uVar20 < (uint)piVar26[2]) {
                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;
                      }
                      else {
                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);
                        unaff_s8 = (int *)*piVar16;
                      }
                      if (uVar20 != 0) {
                        if (uVar19 == 0) {
                          uVar19 = uVar20;
                          if ((local_dc != (undefined *)*piVar24) &&
                             (uVar20 = (*(code *)PTR_strlen_0008def8)
                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),
                             uVar30 < uVar20)) {
                            uVar30 = uVar20;
                          }
                        }
                        else {
                          uVar20 = (*(code *)PTR_strlen_0008def8)
                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));
                          if (uVar30 < uVar20) {
                            uVar30 = uVar20;
                          }
                        }
                      }
                      unaff_s3 = (int *)((int)unaff_s3 + 1);
                      piVar24 = piVar24 + 1;
                    } while ((int)unaff_s3 < (int)unaff_s8);
                  }
                  uVar18 = uVar18 + 1;
                  local_b4 = unaff_s6;
                  local_b0 = puVar10;
                } while ((int)uVar18 < *(int *)puVar6);
              }
              if (uVar30 != 0) {
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                  *puVar22 = 10;
                }
                else {
                  (*(code *)PTR___overflow_0008de84)(puVar10,10);
                }
                puVar13 = PTR_symbols_0008d7a4;
                iVar29 = uVar30 + 2;
                if (piVar16[1] == 0) {
                  unaff_s8 = (int *)0x1;
                }
                else {
                  unaff_s8 = (int *)0x1;
                  if (0 < *(int *)puVar6) {
                    uVar30 = 0;
                    unaff_s8 = (int *)0x1;
                    do {
                      piVar24 = *(int **)(puVar1 + -0x1cf0);
                      local_b8 = (undefined *)(uVar30 >> 5);
                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {
                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>
                                 (uVar30 & 0x1f) & 1;
                      }
                      else {
                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);
                      }
                      if (uVar18 != 0) {
                        unaff_s8 = (int *)0x0;
                      }
                      if (0 < *piVar16) {
                        iVar23 = uVar30 * 4;
                        unaff_s3 = piVar16 + 2;
                        local_b0 = local_dc + 4;
                        iVar15 = 0;
                        local_b4 = (int *)(uVar30 & 0x1f);
                        uVar19 = 0;
                        do {
                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);
                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {
                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>
                                     (int)local_b4 & 1;
                          }
                          else {
                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);
                          }
                          uVar34 = uVar19;
                          if (uVar20 != 0) {
                            if (uVar18 == 0) {
                              puVar14 = (undefined *)*unaff_s3;
                              uVar18 = uVar20;
                              uVar34 = uVar20;
                              if (local_dc != puVar14) {
                                unaff_s8 = (int *)0x0;
                                (*local_c8)(puVar10,iVar29,
                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,
                                            puVar14 + 8,1);
                                uVar34 = uVar19;
                              }
                            }
                            else {
                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);
                              if (uVar19 != 0) {
                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);
                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);
                              }
                              unaff_s8 = (int *)0x0;
                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);
                              uVar34 = 0;
                            }
                          }
                          iVar15 = iVar15 + 1;
                          unaff_s3 = unaff_s3 + 1;
                          unaff_s4 = unaff_s8;
                          uVar19 = uVar34;
                        } while (iVar15 < *piVar16);
                      }
                      uVar30 = uVar30 + 1;
                    } while ((int)uVar30 < *(int *)puVar6);
                  }
                }
                if (local_dc != (undefined *)0x0) {
                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);
                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);
                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);
                  if (((iVar29 != 0) &&
                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),
                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&
                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {
                    (*(code *)PTR___assert_fail_0008de30)
                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,
                               PTR_LAB_0008d628 + 0x7220);
                    return;
                  }
                  (*(code *)PTR_free_0008df9c)(uVar11);
                }
              }
              goto LAB_0003c4e4;
            }
            if (piVar16[1] == 0) goto LAB_0003c4e4;
            uVar30 = 0;
            if (0 < *(int *)puVar6) goto LAB_0003c1e8;
            iVar29 = unaff_s6[2];
          }
          (*pcVar17)(iVar29,puVar10,0);
          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {
            puVar22 = *(undefined1 **)(puVar10 + 0x14);
            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
              *puVar22 = 10;
            }
            else {
              (*(code *)PTR___overflow_0008de84)(puVar10,10);
            }
            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);
          }
          local_c0 = local_c0 + 1;
        } while ((int)local_c0 < *(int *)puVar5);
        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);
      }
      bitset_free(uVar11);
      if ((*(uint *)puVar2 & 2) != 0) {
        (*(code *)PTR_free_closure_0008d7f4)();
      }
      xfclose(puVar10);
      if (local_2c == *(int *)puVar9) {
        return;
      }
      (*(code *)PTR___stack_chk_fail_0008df68)();
LAB_0003ca90:
      iVar29 = 3;
LAB_0003ca94:
      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);
      (*(code *)PTR___sprintf_chk_0008de24)
                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);
      puVar2 = PTR_rules_0008d784;
      if (0 < *unaff_s6) {
        iVar15 = 0;
        iVar23 = 0;
        do {
          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {
            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            if (0x41 < (uint)(iVar29 + iVar28)) {
              iVar29 = 3;
              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
              local_88[0]._0_1_ = 0;
              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            }
            (*(code *)PTR___sprintf_chk_0008de24)
                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);
          }
          iVar23 = iVar23 + 1;
          iVar15 = iVar15 + 0x60;
          unaff_s3 = (int *)puVar2;
        } while (iVar23 < *unaff_s6);
      }
      if (unaff_s4 != (int *)0x0) {
        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;
        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;
LAB_0003c910:
        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        if (0x41 < (uint)(iVar29 + iVar15)) {
          iVar29 = 3;
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
          local_88[0]._0_1_ = 0;
          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        }
        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);
        (*(code *)PTR___sprintf_chk_0008de24)
                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);
        puVar2 = PTR_rules_0008d784;
        if (0 < *unaff_s6) {
          unaff_s4 = (int *)0x0;
          iVar15 = 0;
          do {
            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);
            piVar24 = (int *)*puVar25;
            if ((int)piVar24 < 0) {
              iVar23 = *unaff_s6;
            }
            else {
              do {
                puVar25 = puVar25 + 1;
                if (piVar24 == piVar16) {
                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  if (0x41 < (uint)(iVar29 + iVar23)) {
                    iVar29 = 3;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
                    local_88[0]._0_1_ = 0;
                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  }
                  (*(code *)PTR___sprintf_chk_0008de24)
                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);
                  break;
                }
                piVar24 = (int *)*puVar25;
              } while (-1 < (int)piVar24);
              iVar23 = *unaff_s6;
            }
            iVar15 = iVar15 + 1;
            unaff_s4 = unaff_s4 + 0x18;
            unaff_s3 = (int *)puVar2;
          } while (iVar15 < iVar23);
        }
      }
    }
  } while( true );
}


lui gp,0x6
addiu gp,gp,-0x5fbc
addu gp,gp,t9
lw v0,-0x7664(gp)
addiu sp,sp,-0x100
lw v1,-0x7d34(gp)
lw a1,-0x7fc8(gp)
lw t9,-0x7d10(gp)
sw s0,0xd8(sp)
sw v0,0x74(sp)
addiu a1,a1,0x4224
sw ra,0xfc(sp)
sw gp,0x18(sp)
sw s7,0xf4(sp)
sw s1,0xdc(sp)
sw s8,0xf8(sp)
sw s6,0xf0(sp)
sw s5,0xec(sp)
sw s4,0xe8(sp)
sw s3,0xe4(sp)
sw s2,0xe0(sp)
lw s0,-0x7fc8(gp)
lw v0,0x0(v0)
lw a0,0x0(v1)
sw s0,0x44(sp)
sw v0,0xd4(sp)
bal 0x0001fdec
_nop
lw gp,0x18(sp)
or a0,v0,zero
or s7,v0,zero
lw s1,-0x7bc4(gp)
lw t9,-0x7a90(gp)
bal 0x00040cf4
_sw s1,0x2c(sp)
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7680(gp)
jalr t9
_addiu a1,a1,0x7080
or a0,s7,zero
lw gp,0x18(sp)
lw a2,-0x7a8c(gp)
lw t9,-0x7cac(gp)
bal 0x00022b4c
_or a1,v0,zero
lw gp,0x18(sp)
lw t9,-0x7a88(gp)
bal 0x0001ee78
_or a0,s7,zero
lw gp,0x18(sp)
lw t9,-0x7a84(gp)
bal 0x00022d6c
_or a0,s7,zero
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7680(gp)
jalr t9
_addiu a1,a1,0x70ac
addiu a2,s0,0x37a8
lw gp,0x18(sp)
li a1,0x1
or a3,v0,zero
lw t9,-0x7788(gp)
jalr t9
_or a0,s7,zero
lw v0,0x0(s1)
bltz v0,0x0003b8ec
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
or s1,zero,zero
lw s5,-0x7c98(gp)
sw s7,0x24(sp)
addiu v0,v0,0x4d80
sw v0,0x28(sp)
lw v0,-0x7be0(gp)
sw v0,0x30(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x7100
sw v0,0x34(sp)
lw v0,-0x7fc8(gp)
sw v0,0x38(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x176c
sw v0,0x3c(sp)
lw v0,-0x7df0(gp)
b 0x0003b734
_sw v0,0x40(sp)
lw v0,0x2c(sp)
addiu s1,s1,0x1
lw v0,0x0(v0)
slt v0,v0,s1
bne v0,zero,0x0003b8ec
_lw s7,0x24(sp)
lw v0,0x30(sp)
sll s4,s1,0x2
lw v1,0x0(v0)
lw v0,0x0(s5)
lw v1,0x28(v1)
addu v0,v0,s4
lw v0,0x0(v0)
lw v1,0x80(v1)
beq v0,v1,0x0003b71c
_lw s0,-0x7e4c(gp)
sll v0,v0,0x2
lw t9,-0x76f8(gp)
addiu s2,sp,0x78
lw v1,0x0(s0)
addu v0,v1,v0
lw v0,0x0(v0)
lw s3,0x0(v0)
jalr t9
_or a0,s3,zero
or a0,s3,zero
lw gp,0x18(sp)
or s6,v0,zero
lw a1,0x24(sp)
lw t9,-0x7610(gp)
jalr t9
_sb zero,0x78(sp)
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s2,zero
addu v0,s6,v0
sltiu v0,v0,0x42
beq v0,zero,0x0003cc64
_lw gp,0x18(sp)
lw v1,0x0(s5)
lw v0,0x0(s0)
addu v1,v1,s4
lw v1,0x0(v1)
sll v1,v1,0x2
addu v0,v0,v1
lw v0,0x0(v0)
lw v0,0x28(v0)
lw a3,0x4(v0)
beq a3,zero,0x0003b820
_lw v0,0x40(sp)
li a1,0x1
lw t9,-0x7788(gp)
lw a0,0x24(sp)
jalr t9
_addiu a2,v0,-0x4ae0
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_addu s6,s6,v0
addu v0,s6,v0
sltiu v0,v0,0x42
beq v0,zero,0x0003ccbc
_lw gp,0x18(sp)
lw v0,0x38(sp)
li a2,0x5a
lw s7,-0x7e28(gp)
li a1,0x1
lw t9,-0x77cc(gp)
or a0,s2,zero
addiu a3,v0,0x7108
jalr t9
_sw s1,0x10(sp)
lw v0,0x0(s7)
blez v0,0x0003b8b8
_lw gp,0x18(sp)
lw s8,-0x7e6c(gp)
or s3,zero,zero
or s0,zero,zero
lw v0,0x0(s8)
addu v0,v0,s3
lw v0,0xc(v0)
lw a0,0x0(v0)
bltz a0,0x0003b8a4
_nop
lw v1,0x0(s5)
addu v1,v1,s4
lw v1,0x0(v1)
bne v1,a0,0x0003b898
_addiu v0,v0,0x4
b 0x0003c324
_lw t9,-0x76f8(gp)
beq a0,v1,0x0003c320
_addiu v0,v0,0x4
lw a0,0x0(v0)
bgez a0,0x0003b890
_nop
lw v0,0x0(s7)
addiu s0,s0,0x1
slt v0,s0,v0
bne v0,zero,0x0003b85c
_addiu s3,s3,0x60
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x3c(sp)
or a3,s2,zero
lw a0,0x24(sp)
jalr t9
_addiu s1,s1,0x1
lw v0,0x2c(sp)
lw v0,0x0(v0)
slt v0,v0,s1
beq v0,zero,0x0003b734
_lw gp,0x18(sp)
lw s7,0x24(sp)
lw v0,-0x7fc8(gp)
li a2,0x2
lw s0,-0x7e74(gp)
li a1,0x1
lw s1,-0x7e34(gp)
or a3,s7,zero
lw t9,-0x7670(gp)
addiu a0,v0,0x4938
sw s0,0x2c(sp)
sw v0,0x60(sp)
jalr t9
_sw s1,0x3c(sp)
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7680(gp)
jalr t9
_addiu a1,a1,0x70d4
li a1,0x1
lw gp,0x18(sp)
or a3,v0,zero
lw v1,0x44(sp)
or a0,s7,zero
lw t9,-0x7788(gp)
jalr t9
_addiu a2,v1,0x37a8
lw s0,0x0(s0)
lw v0,0x0(s1)
slt v0,s0,v0
beq v0,zero,0x0003bb54
_lw gp,0x18(sp)
lw v0,-0x7e4c(gp)
addiu s8,sp,0x78
lw s6,-0x7e28(gp)
sw v0,0x28(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x711c
sw v0,0x4c(sp)
lw v0,-0x7fc8(gp)
sw v0,0x40(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x4d80
sw v0,0x24(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x7100
sw v0,0x38(sp)
lw v0,-0x7fc8(gp)
sw v0,0x44(sp)
lw v0,-0x7df0(gp)
sw v0,0x48(sp)
lw v0,-0x7fc8(gp)
sw v0,0x50(sp)
lw v0,0x28(sp)
sll v1,s0,0x2
lw t9,-0x76f8(gp)
sw v1,0x30(sp)
lw v0,0x0(v0)
addu v0,v0,v1
lw v0,0x0(v0)
lw a2,0x0(v0)
or a0,a2,zero
jalr t9
_sw a2,0x34(sp)
lw a0,0x0(s6)
or s1,v0,zero
lw gp,0x18(sp)
or s2,v0,zero
blez a0,0x0003cc40
_lw a2,0x34(sp)
lw s3,-0x7e6c(gp)
sll v1,a0,0x1
or s4,zero,zero
addu v1,v1,a0
or s5,zero,zero
lw v0,0x0(s3)
sll v1,v1,0x5
addu v1,v1,v0
lw a0,0x8(v0)
lw a0,0x80(a0)
bne a0,s0,0x0003ba38
_nop
addiu s5,s5,0x1
lw a0,0xc(v0)
lw a1,0x0(a0)
bgez a1,0x0003ba5c
_nop
b 0x0003ba6c
_addiu v0,v0,0x60
lw a1,0x0(a0)
bltz a1,0x0003ba68
_nop
bne a1,s0,0x0003ba50
_addiu a0,a0,0x4
addiu s4,s4,0x1
addiu v0,v0,0x60
bne v1,v0,0x0003ba24
_nop
lw t9,-0x7610(gp)
or a1,s7,zero
jalr t9
_or a0,a2,zero
lw v0,0x28(sp)
lw v1,0x30(sp)
lw v0,0x0(v0)
addu v0,v0,v1
lw v0,0x0(v0)
lw v0,0x28(v0)
lw a3,0x4(v0)
beq a3,zero,0x0003bacc
_lw gp,0x18(sp)
lw v0,0x48(sp)
li a1,0x1
lw t9,-0x7788(gp)
or a0,s7,zero
jalr t9
_addiu a2,v0,-0x4ae0
addu s1,s1,v0
lw gp,0x18(sp)
or s2,s1,zero
lw v0,0x40(sp)
li a2,0x5a
lw t9,-0x77cc(gp)
li a1,0x1
or a0,s8,zero
sw s0,0x10(sp)
addiu a3,v0,0x7108
jalr t9
_sb zero,0x78(sp)
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
addu s1,v0,s1
lw gp,0x18(sp)
bne s1,zero,0x0003cb48
_or s3,v0,zero
bne s5,zero,0x0003ca94
_lw v0,0x50(sp)
bne s4,zero,0x0003c910
_lw t9,-0x76f8(gp)
lw v0,0x44(sp)
li a1,0x1
lw t9,-0x7788(gp)
or a3,s8,zero
or a0,s7,zero
addiu a2,v0,0x176c
jalr t9
_addiu s0,s0,0x1
lw v0,0x3c(sp)
lw v0,0x0(v0)
slt v0,s0,v0
bne v0,zero,0x0003b9c0
_lw gp,0x18(sp)
lw v0,-0x7ed4(gp)
sw v0,0x3c(sp)
lw v0,0x0(v0)
andi v0,v0,0x2
bne v0,zero,0x0003cd10
_lw v0,-0x7e20(gp)
lw v0,0x2c(sp)
li a1,0x1
lw s0,-0x7f58(gp)
lw s1,-0x7fd8(gp)
lw t9,-0x7e64(gp)
lw a0,0x0(v0)
sw s0,0x64(sp)
bal 0x00057660
_sw s1,0x28(sp)
lw v1,0x0(s0)
lw gp,0x18(sp)
blez v1,0x0003c570
_sw v0,-0x1cf0(s1)
lw v0,-0x7df8(gp)
sw zero,0x40(sp)
sw v0,0x68(sp)
lw v0,-0x7aa4(gp)
addiu v0,v0,-0x4cdc
sw v0,0x58(sp)
lw v0,-0x7fc8(gp)
sw v0,0x6c(sp)
lw v0,-0x7df0(gp)
addiu v0,v0,-0x4654
sw v0,0x44(sp)
lw v0,-0x7fc8(gp)
sw v0,0x5c(sp)
lw v0,-0x7aa4(gp)
addiu v0,v0,-0x4f10
sw v0,0x38(sp)
lw v0,0x68(sp)
li a2,0x2
lw t9,-0x7670(gp)
li a1,0x1
or a3,s7,zero
lw v1,0x0(v0)
lw v0,0x40(sp)
sll v0,v0,0x2
addu v0,v1,v0
lw v1,0x60(sp)
addiu a0,v1,0x4938
jalr t9
_lw s6,0x0(v0)
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw v0,0x6c(sp)
lw t9,-0x7680(gp)
jalr t9
_addiu a1,v0,0x7128
li a1,0x1
lw gp,0x18(sp)
or a2,v0,zero
lw a3,0x0(s6)
lw t9,-0x7788(gp)
jalr t9
_or a0,s7,zero
lw v1,0x14(s7)
lw v0,0x18(s7)
sltu v0,v1,v0
beq v0,zero,0x0003cc4c
_lw gp,0x18(sp)
addiu v0,v1,0x1
sw v0,0x14(s7)
li v0,0xa
sb v0,0x0(v1)
lw v0,0x3c(sp)
addiu s2,s6,0x28
lw v0,0x0(v0)
andi v0,v0,0x2
bne v0,zero,0x0003cb74
_lw s8,0x24(s6)
beq s8,zero,0x0003be78
_nop
lw v1,0x14(s7)
lw v0,0x18(s7)
sltu v0,v1,v0
beq v0,zero,0x0003cc8c
_addiu v0,v1,0x1
sw v0,0x14(s7)
li v0,0xa
sb v0,0x0(v1)
sll s8,s8,0x2
lw s3,-0x7e6c(gp)
lw s4,-0x7e4c(gp)
addu v0,s2,s8
lw s8,-0x7e70(gp)
sw zero,0x24(sp)
sw v0,0x34(sp)
lw v0,-0x7fc8(gp)
sw s6,0x30(sp)
addiu v0,v0,0x7138
sw v0,0x48(sp)
lw v0,0x0(s2)
lw s0,0x0(s8)
sll v0,v0,0x2
addu s0,s0,v0
lw s1,0x0(s0)
bltz s1,0x0003bd08
_or v0,s0,zero
addiu v0,v0,0x4
lw s1,0x0(v0)
bgez s1,0x0003bcfc
_addiu v0,v0,0x4
nor s1,zero,s1
lw a0,0x0(s3)
sll v0,s1,0x1
lw t9,-0x7cb0(gp)
lw a1,0x24(sp)
or a2,s7,zero
addu s1,v0,s1
sll s1,s1,0x5
bal 0x00022774
_addu a0,a0,s1
lw v0,0x0(s3)
lw gp,0x18(sp)
addu v0,v0,s1
lw s5,0xc(v0)
lw v0,0x8(v0)
sw v0,0x24(sp)
sltu v0,s5,s0
beq v0,zero,0x0003bdb0
_lw v0,0x5c(sp)
or s6,s5,zero
lw v1,0x0(s6)
li a1,0x1
lw v0,0x0(s4)
addiu s6,s6,0x4
lw t9,-0x7788(gp)
or a0,s7,zero
sll v1,v1,0x2
lw a2,0x44(sp)
addu v0,v0,v1
lw v0,0x0(v0)
jalr t9
_lw a3,0x0(v0)
sltu v0,s6,s0
bne v0,zero,0x0003bd58
_lw gp,0x18(sp)
addiu v0,s0,-0x1
subu v0,v0,s5
srl v0,v0,0x2
addiu v0,v0,0x1
sll v0,v0,0x2
addu s5,s5,v0
lw v0,0x5c(sp)
li a2,0x2
lw t9,-0x7670(gp)
li a1,0x1
or a3,s7,zero
jalr t9
_addiu a0,v0,0x7134
lw v0,0x0(s3)
addu v0,v0,s1
lw v0,0xc(v0)
lw v0,0x0(v0)
bltz v0,0x0003c3b0
_lw gp,0x18(sp)
lw v0,0x0(s5)
bltz v0,0x0003be24
_nop
lw v1,0x0(s4)
sll v0,v0,0x2
lw t9,-0x7788(gp)
addiu s5,s5,0x4
lw a2,0x44(sp)
li a1,0x1
addu v0,v1,v0
or a0,s7,zero
lw v0,0x0(v0)
jalr t9
_lw a3,0x0(v0)
lw v0,0x0(s5)
bgez v0,0x0003bdec
_lw gp,0x18(sp)
lw v0,0x3c(sp)
lw v0,0x0(v0)
andi v0,v0,0x4
beq v0,zero,0x0003be44
_nop
lw v0,0x0(s0)
bltz v0,0x0003c5e0
_or a2,s7,zero
lw v0,0x14(s7)
lw v1,0x18(s7)
sltu v1,v0,v1
beq v1,zero,0x0003c60c
_lw t9,-0x776c(gp)
addiu v1,v0,0x1
sw v1,0x14(s7)
li v1,0xa
sb v1,0x0(v0)
lw v0,0x34(sp)
addiu s2,s2,0x4
bne v0,s2,0x0003bcdc
_lw s6,0x30(sp)
lw a0,0x8(s6)
li a2,0x1
lw t9,0x58(sp)
jalr t9
_or a1,s7,zero
lw s2,0x10(s6)
lw s5,0x0(s2)
blez s5,0x0003bfe0
_lw gp,0x18(sp)
addiu s1,s2,0x4
or s0,zero,zero
or s4,zero,zero
or s3,s1,zero
lw v0,0x0(s3)
beq v0,zero,0x0003becc
_lw t9,-0x76f8(gp)
jalr t9
_lw a0,0x0(v0)
sltu v1,s0,v0
lw gp,0x18(sp)
movn s0,v0,v1
addiu s4,s4,0x1
bne s4,s5,0x0003beac
_addiu s3,s3,0x4
beq s0,zero,0x0003bfe0
_nop
lw v1,0x14(s7)
lw v0,0x18(s7)
sltu v0,v1,v0
beq v0,zero,0x0003cca4
_addiu v0,v1,0x1
sw v0,0x14(s7)
li v0,0xa
sb v0,0x0(v1)
lw v0,0x0(s2)
blez v0,0x0003bfe0
_addiu s0,s0,0x2
lw s5,-0x7fc8(gp)
or s3,zero,zero
lw s4,-0x7fc8(gp)
addiu s5,s5,0x7028
b 0x0003bf34
_addiu s4,s4,0x7144
addiu s3,s3,0x1
slt v1,s3,v0
beq v1,zero,0x0003bfe0
_addiu s1,s1,0x4
lw v1,0x0(s1)
beq v1,zero,0x0003bf24
_li a1,0x1
lw s8,0x0(v1)
lw t9,-0x7788(gp)
or a0,s7,zero
or a2,s5,zero
jalr t9
_or a3,s8,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
subu s8,s0,v0
blez s8,0x0003bfa0
_lw gp,0x18(sp)
lw v0,0x14(s7)
lw v1,0x18(s7)
sltu v1,v0,v1
beq v1,zero,0x0003c3cc
_addiu v1,v0,0x1
sw v1,0x14(s7)
li v1,0x20
sb v1,0x0(v0)
addiu s8,s8,-0x1
bne s8,zero,0x0003bf74
_nop
lw t9,-0x7680(gp)
li a2,0x5
or a0,zero,zero
jalr t9
_or a1,s4,zero
or a1,s7,zero
lw gp,0x18(sp)
or a0,v0,zero
addiu s3,s3,0x1
lw t9,-0x7610(gp)
jalr t9
_addiu s1,s1,0x4
lw v0,0x0(s2)
slt v1,s3,v0
bne v1,zero,0x0003bf34
_lw gp,0x18(sp)
lw s0,0xc(s6)
lw v0,0x0(s0)
beq v0,zero,0x0003c4e4
_lw v0,-0x7c88(gp)
lw v1,0x0(s6)
lw v0,0x0(v0)
sll v1,v1,0x2
addu v0,v0,v1
lw v1,0x0(v0)
beq v1,zero,0x0003cb9c
_sll v0,v1,0x1
lw s3,-0x7e6c(gp)
addu v0,v0,v1
sll v0,v0,0x5
lw v1,0x0(s3)
addiu v0,v0,-0x60
addu v0,v1,v0
sw v0,0x24(sp)
lw v0,0x28(sp)
lw v0,-0x1cf0(v0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x24(v0)
jalr t9
_lw s1,0x8(s6)
lw a2,0x0(s1)
blez a2,0x0003c0f0
_lw gp,0x18(sp)
addiu s4,s1,0x4
or s3,zero,zero
b 0x0003c088
_li s2,0x1
lw v1,0xc(a0)
sllv a1,s2,a1
addu v0,v1,v0
lw v1,0x0(v0)
or a1,v1,a1
sw a1,0x0(v0)
addiu s3,s3,0x1
slt v0,s3,a2
beq v0,zero,0x0003c0f0
_addiu s4,s4,0x4
lw v0,0x0(s4)
beq v0,zero,0x0003c078
_nop
lw a1,0x4(v0)
lw v0,0x2c(sp)
lw v0,0x0(v0)
slt v0,a1,v0
beq v0,zero,0x0003c0f0
_lw v0,0x28(sp)
lw a0,-0x1cf0(v0)
srl v0,a1,0x5
lw a3,0x4(a0)
lw v1,0x8(a0)
subu v0,v0,a3
sltu v1,v0,v1
bne v1,zero,0x0003c060
_sll v0,v0,0x2
lw v0,0x0(a0)
addiu s3,s3,0x1
lw t9,0x0(v0)
jalr t9
_addiu s4,s4,0x4
lw a2,0x0(s1)
slt v0,s3,a2
bne v0,zero,0x0003c088
_lw gp,0x18(sp)
lw a2,0x10(s6)
or s2,zero,zero
lw v0,0x0(a2)
bgtz v0,0x0003c138
_li s1,0x1
b 0x0003c19c
_lw v0,0x24(sp)
lw v1,0xc(a0)
sllv a1,s1,a1
addu v0,v1,v0
lw v1,0x0(v0)
or a1,v1,a1
sw a1,0x0(v0)
lw v0,0x0(a2)
addiu s2,s2,0x1
slt v0,s2,v0
beq v0,zero,0x0003c19c
_lw v0,0x24(sp)
sll v0,s2,0x2
addu v0,a2,v0
lw v0,0x4(v0)
beq v0,zero,0x0003c124
_lw v1,0x28(sp)
lw v0,0x28(v0)
lw a0,-0x1cf0(v1)
lw a1,0x80(v0)
lw a3,0x4(a0)
srl v0,a1,0x5
lw v1,0x8(a0)
subu v0,v0,a3
sltu v1,v0,v1
bne v1,zero,0x0003c10c
_sll v0,v0,0x2
lw v0,0x0(a0)
lw t9,0x0(v0)
jalr t9
_addiu s2,s2,0x1
lw a2,0x10(s6)
lw v0,0x0(a2)
slt v0,s2,v0
bne v0,zero,0x0003c138
_lw gp,0x18(sp)
lw v0,0x24(sp)
beq v0,zero,0x0003cbdc
_lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7680(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x6fb8
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,v0,zero
lw v1,0x4(s0)
or s1,v0,zero
beq v1,zero,0x0003c644
_lw gp,0x18(sp)
lw v0,0x2c(sp)
lw v0,0x0(v0)
blez v0,0x0003c644
_nop
or s8,zero,zero
lw s4,-0x7e4c(gp)
sw s7,0x50(sp)
sw s6,0x4c(sp)
or s7,s8,zero
lw v0,0x28(sp)
lw a0,-0x1cf0(v0)
srl v0,s7,0x5
or v1,v0,zero
sw v0,0x34(sp)
lw v0,0x4(a0)
lw a1,0x8(a0)
subu v0,v1,v0
sltu a1,v0,a1
beq a1,zero,0x0003c81c
_sll v0,v0,0x2
lw a0,0xc(a0)
addu v0,a0,v0
lw a2,0x0(v0)
srlv a2,a2,s7
andi s5,a2,0x1
lw s8,0x0(s0)
blez s8,0x0003c624
_addiu s3,s0,0x8
sw s7,0x30(sp)
or s2,zero,zero
andi v0,s7,0x1f
sll s6,s7,0x2
sw v0,0x48(sp)
or s7,s5,zero
or s5,s3,zero
b 0x0003c2d4
_or s3,s2,zero
lw v1,0xc(a0)
addu v0,v1,v0
lw s2,0x0(v0)
lw v0,0x48(sp)
srlv v0,s2,v0
andi s2,v0,0x1
beq s2,zero,0x0003c2c4
_nop
bne s7,zero,0x0003c7f8
_lw t9,-0x76f8(gp)
lw v0,0x0(s5)
lw v1,0x24(sp)
beq v1,v0,0x0003c2c4
_or s7,s2,zero
lw v0,0x0(s4)
addu v0,v0,s6
lw v0,0x0(v0)
jalr t9
_lw a0,0x0(v0)
sltu v1,s1,v0
lw gp,0x18(sp)
movn s1,v0,v1
addiu s3,s3,0x1
slt v0,s3,s8
beq v0,zero,0x0003c620
_addiu s5,s5,0x4
lw v0,0x4(s0)
sll v1,s3,0x2
lw a1,0x34(sp)
addu v0,v0,v1
lw a0,0x0(v0)
lw v0,0x4(a0)
lw v1,0x8(a0)
subu v0,a1,v0
sltu v1,v0,v1
bne v1,zero,0x0003c26c
_sll v0,v0,0x2
lw v0,0x0(a0)
lw t9,0xc(v0)
jalr t9
_lw a1,0x30(sp)
lw gp,0x18(sp)
or s2,v0,zero
b 0x0003c284
_lw s8,0x0(s0)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s2,zero
addu v1,s6,v0
sltiu v1,v1,0x42
beq v1,zero,0x0003c378
_lw gp,0x18(sp)
lw t9,-0x77cc(gp)
li a2,-0x1
lw a3,0x28(sp)
li a1,0x1
addu a0,s2,v0
sw s0,0x10(sp)
jalr t9
_addiu s0,s0,0x1
addiu s3,s3,0x60
lw v0,0x0(s7)
slt v0,s0,v0
bne v0,zero,0x0003b85c
_lw gp,0x18(sp)
b 0x0003b8bc
_lw t9,-0x7788(gp)
lw t9,-0x7788(gp)
li a1,0x1
lw a0,0x24(sp)
or a3,s2,zero
lw a2,0x34(sp)
jalr t9
_li s6,0x3
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_sb zero,0x78(sp)
b 0x0003c33c
_lw gp,0x18(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x48(sp)
jalr t9
_or a0,s7,zero
b 0x0003be24
_lw gp,0x18(sp)
lw t9,-0x776c(gp)
li a1,0x20
jalr t9
_or a0,s7,zero
b 0x0003bf94
_lw gp,0x18(sp)
or s0,s1,zero
or s1,s6,zero
or s6,s4,zero
lw v0,0x2c(sp)
addiu s1,s1,0x1
lw v0,0x0(v0)
slt v0,s1,v0
bne v0,zero,0x0003c6a4
_lw v0,0x28(sp)
or s8,s6,zero
lw s7,0x34(sp)
lw s6,0x70(sp)
lw s2,0x24(sp)
beq s2,zero,0x0003c4e4
_lw a0,-0x7fc8(gp)
lw t9,-0x7c74(gp)
bal 0x0002c900
_addiu a0,a0,0x3c20
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
or s1,v0,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7680(gp)
jalr t9
_addiu a1,a1,0x6fb8
addiu v1,s2,0x8
li a0,0x1
lw a1,0x30(sp)
lw t9,0x38(sp)
addiu a3,s2,0x4
sw a0,0x14(sp)
or a2,v0,zero
sw v1,0x10(sp)
jalr t9
_or a0,s7,zero
or a0,s1,zero
lw gp,0x18(sp)
lw a1,-0x7fc8(gp)
lw t9,-0x7628(gp)
jalr t9
_addiu a1,a1,0x715c
beq v0,zero,0x0003c4d8
_lw gp,0x18(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7628(gp)
jalr t9
_addiu a1,a1,0x7164
bne v0,zero,0x0003c4b8
_lw gp,0x18(sp)
bne s8,zero,0x0003c4dc
_lw t9,-0x7654(gp)
lw v1,0x0(s0)
li v0,0x1
bne v1,v0,0x0003cd3c
_lw a3,-0x7fc8(gp)
lw v0,0x8(s0)
lw v0,0x4(v0)
bne v0,zero,0x0003cd40
_li a2,0x147
lw t9,-0x7654(gp)
jalr t9
_or a0,s1,zero
lw a0,0x8(s6)
or a2,zero,zero
lw t9,0x58(sp)
jalr t9
_or a1,s7,zero
lw v0,0x3c(sp)
lw v0,0x0(v0)
andi v0,v0,0x8
beq v0,zero,0x0003c54c
_lw gp,0x18(sp)
lw v0,0x1c(s6)
beq v0,zero,0x0003c550
_lw v0,0x64(sp)
lw v1,0x14(s7)
lw v0,0x18(s7)
sltu v0,v1,v0
beq v0,zero,0x0003cd24
_addiu v0,v1,0x1
sw v0,0x14(s7)
li v0,0xa
sb v0,0x0(v1)
lw t9,-0x7610(gp)
or a1,s7,zero
jalr t9
_lw a0,0x1c(s6)
lw gp,0x18(sp)
lw v0,0x64(sp)
lw v1,0x40(sp)
lw v0,0x0(v0)
addiu v1,v1,0x1
slt v0,v1,v0
bne v0,zero,0x0003bbe0
_sw v1,0x40(sp)
lw v0,0x28(sp)
lw v0,-0x1cf0(v0)
lw t9,-0x7e5c(gp)
bal 0x000576a8
_or a0,v0,zero
lw v0,0x3c(sp)
lw v0,0x0(v0)
andi v0,v0,0x2
bne v0,zero,0x0003ccfc
_lw gp,0x18(sp)
lw t9,-0x7d0c(gp)
bal 0x0001febc
_or a0,s7,zero
lw v0,0x74(sp)
lw v1,0xd4(sp)
lw gp,0x18(sp)
lw v0,0x0(v0)
bne v1,v0,0x0003cd5c
_lw ra,0xfc(sp)
lw s8,0xf8(sp)
lw s7,0xf4(sp)
lw s6,0xf0(sp)
lw s5,0xec(sp)
lw s4,0xe8(sp)
lw s3,0xe4(sp)
lw s2,0xe0(sp)
lw s1,0xdc(sp)
lw s0,0xd8(sp)
jr ra
_addiu sp,sp,0x100
lw a1,0x0(s3)
lw t9,-0x7a80(gp)
lw a0,0x30(sp)
bal 0x0004fe74
_addu a1,a1,s1
lw v0,0x14(s7)
lw v1,0x18(s7)
sltu v1,v0,v1
bne v1,zero,0x0003be58
_lw gp,0x18(sp)
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003be68
_lw gp,0x18(sp)
lw s7,0x30(sp)
lw v0,0x2c(sp)
addiu s7,s7,0x1
lw v0,0x0(v0)
slt v0,s7,v0
bne v0,zero,0x0003c200
_lw v0,0x28(sp)
lw s6,0x4c(sp)
lw s7,0x50(sp)
beq s1,zero,0x0003c4e4
_nop
lw v1,0x14(s7)
lw v0,0x18(s7)
sltu v0,v1,v0
beq v0,zero,0x0003cce4
_addiu v0,v1,0x1
sw v0,0x14(s7)
li v0,0xa
sb v0,0x0(v1)
lw v0,0x4(s0)
addiu v1,s1,0x2
beq v0,zero,0x0003cbfc
_sw v1,0x30(sp)
lw v0,0x2c(sp)
lw v0,0x0(v0)
blez v0,0x0003c414
_li s8,0x1
lw s5,-0x7e4c(gp)
or s1,zero,zero
sw s6,0x70(sp)
sw s7,0x34(sp)
or s6,s8,zero
lw v0,0x28(sp)
lw a0,-0x1cf0(v0)
srl v0,s1,0x5
or a1,v0,zero
sw v0,0x48(sp)
lw v0,0x4(a0)
lw v1,0x8(a0)
subu v0,a1,v0
sltu v1,v0,v1
beq v1,zero,0x0003c88c
_sll v0,v0,0x2
lw v1,0xc(a0)
addu v0,v1,v0
lw v1,0x0(v0)
srlv v1,v1,s1
andi s7,v1,0x1
lw v0,0x0(s0)
blez v0,0x0003c3f0
_movn s6,zero,s7
lw v0,0x24(sp)
sll s4,s1,0x2
addiu s3,s0,0x8
or s8,zero,zero
addiu v0,v0,0x4
or s2,zero,zero
sw v0,0x50(sp)
andi v0,s1,0x1f
sw v0,0x4c(sp)
or v0,s4,zero
or s4,s6,zero
or s6,s1,zero
or s1,s0,zero
b 0x0003c7b4
_or s0,v0,zero
lw a0,0xc(a0)
sll v0,v0,0x2
addu v0,a0,v0
lw v0,0x0(v0)
srlv v0,v0,v1
andi v0,v0,0x1
beq v0,zero,0x0003c7a0
_nop
bne s7,zero,0x0003c844
_lw v1,0x24(sp)
lw a3,0x0(s3)
beq v1,a3,0x0003c838
_addiu t0,a3,0x8
lw a2,0x0(s5)
li t1,0x1
lw a1,0x30(sp)
lw a0,0x34(sp)
addiu a3,a3,0x4
addu a2,a2,s0
lw t9,0x38(sp)
sw v0,0x54(sp)
or s4,zero,zero
lw a2,0x0(a2)
lw a2,0x0(a2)
sw t1,0x14(sp)
jalr t9
_sw t0,0x10(sp)
lw v0,0x54(sp)
lw gp,0x18(sp)
or s7,v0,zero
lw v0,0x0(s1)
addiu s2,s2,0x1
slt v0,s2,v0
beq v0,zero,0x0003c3e4
_addiu s3,s3,0x4
lw v0,0x4(s1)
sll a0,s2,0x2
lw v1,0x48(sp)
addu v0,v0,a0
lw a0,0x0(v0)
lw v0,0x4(a0)
lw a1,0x8(a0)
subu v0,v1,v0
sltu a1,v0,a1
bne a1,zero,0x0003c728
_lw v1,0x4c(sp)
lw v0,0x0(a0)
lw t9,0xc(v0)
jalr t9
_or a1,s6,zero
b 0x0003c740
_lw gp,0x18(sp)
lw v0,0x0(s4)
addu v0,v0,s6
lw v0,0x0(v0)
jalr t9
_lw a0,0x0(v0)
sltu v1,s1,v0
lw gp,0x18(sp)
b 0x0003c2c4
_movn s1,v0,v1
lw v0,0x0(a0)
lw t9,0xc(v0)
jalr t9
_or a1,s7,zero
lw gp,0x18(sp)
b 0x0003c23c
_or s5,v0,zero
or s7,v0,zero
b 0x0003c7a0
_or s8,v0,zero
lw v0,0x0(s5)
addu v0,v0,s0
lw v0,0x0(v0)
bne s8,zero,0x0003c8a8
_lw a2,0x0(v0)
lw a3,0x0(s3)
or s8,zero,zero
lw a1,0x30(sp)
or s4,zero,zero
lw a0,0x34(sp)
addiu v0,a3,0x8
lw t9,0x38(sp)
addiu a3,a3,0x4
sw zero,0x14(sp)
jalr t9
_sw v0,0x10(sp)
b 0x0003c7a0
_lw gp,0x18(sp)
lw v0,0x0(a0)
lw t9,0xc(v0)
jalr t9
_or a1,s1,zero
lw gp,0x18(sp)
b 0x0003c6e0
_or s7,v0,zero
lw v0,0x24(sp)
li v1,0x1
lw a3,0x50(sp)
lw a1,0x30(sp)
addiu v0,v0,0x8
lw a0,0x34(sp)
lw t9,0x38(sp)
sw v0,0x10(sp)
jalr t9
_sw v1,0x14(sp)
lw v0,0x0(s5)
addu v0,v0,s0
lw v0,0x0(v0)
b 0x0003c858
_lw a2,0x0(v0)
beq s4,zero,0x0003bb24
_lw v0,0x44(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
li v1,0x2c
addu v0,s8,v0
lw gp,0x18(sp)
sb v1,0x0(v0)
sb zero,0x1(v0)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
or s1,v0,zero
addu v0,s2,v0
sltiu v0,v0,0x42
beq v0,zero,0x0003cc04
_lw gp,0x18(sp)
lw t9,-0x7680(gp)
li a2,0x5
lw a1,0x4c(sp)
jalr t9
_or a0,zero,zero
li a2,-0x1
lw gp,0x18(sp)
li a1,0x1
addu a0,s8,s1
lw t9,-0x77cc(gp)
jalr t9
_or a3,v0,zero
lw v0,0x0(s6)
blez v0,0x0003bb20
_lw gp,0x18(sp)
lw s3,-0x7e6c(gp)
or s4,zero,zero
or s1,zero,zero
lw v0,0x0(s3)
addu v0,v0,s4
lw v0,0xc(v0)
lw v1,0x0(v0)
bgez v1,0x0003c9a0
_nop
b 0x0003c9e8
_lw v0,0x0(s6)
lw v1,0x0(v0)
bltz v1,0x0003c9e4
_nop
bne v1,s0,0x0003c994
_addiu v0,v0,0x4
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
addu v1,s2,v0
sltiu v1,v1,0x42
beq v1,zero,0x0003ca00
_lw gp,0x18(sp)
lw t9,-0x77cc(gp)
li a2,-0x1
lw a3,0x24(sp)
li a1,0x1
addu a0,s8,v0
jalr t9
_sw s1,0x10(sp)
lw gp,0x18(sp)
lw v0,0x0(s6)
addiu s1,s1,0x1
slt v0,s1,v0
bne v0,zero,0x0003c974
_addiu s4,s4,0x60
b 0x0003bb24
_lw v0,0x44(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x38(sp)
or a0,s7,zero
or a3,s8,zero
jalr t9
_li s2,0x3
or a0,s8,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_sb zero,0x78(sp)
b 0x0003c9c4
_lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
or s3,v0,zero
addiu v0,v0,0x3
sltiu v0,v0,0x42
bne v0,zero,0x0003cd68
_lw gp,0x18(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x38(sp)
or a0,s7,zero
or a3,s8,zero
jalr t9
_li s2,0x3
or a0,s8,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_sb zero,0x78(sp)
lw gp,0x18(sp)
or s3,v0,zero
lw v0,0x50(sp)
li a2,0x5
lw t9,-0x7680(gp)
or a0,zero,zero
jalr t9
_addiu a1,v0,0x7110
li a2,-0x1
lw gp,0x18(sp)
li a1,0x1
addu a0,s8,s3
lw t9,-0x77cc(gp)
jalr t9
_or a3,v0,zero
lw v0,0x0(s6)
blez v0,0x0003c8e4
_lw gp,0x18(sp)
lw s3,-0x7e6c(gp)
or s1,zero,zero
b 0x0003caf4
_or s5,zero,zero
lw v0,0x0(s6)
addiu s5,s5,0x1
slt v0,s5,v0
beq v0,zero,0x0003c8e4
_addiu s1,s1,0x60
lw v0,0x0(s3)
addu v0,v0,s1
lw v0,0x8(v0)
lw v0,0x80(v0)
bne v0,s0,0x0003cae0
_lw t9,-0x76f8(gp)
jalr t9
_or a0,s8,zero
addu v1,s2,v0
sltiu v1,v1,0x42
beq v1,zero,0x0003cba4
_lw gp,0x18(sp)
lw t9,-0x77cc(gp)
li a2,-0x1
lw a3,0x24(sp)
li a1,0x1
addu a0,s8,v0
jalr t9
_sw s5,0x10(sp)
b 0x0003cae0
_lw gp,0x18(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x38(sp)
or a3,s8,zero
jalr t9
_or a0,s7,zero
lw gp,0x18(sp)
bne s5,zero,0x0003ca38
_sb zero,0x78(sp)
b 0x0003bb18
_li s2,0x3
lw t9,-0x7e14(gp)
or a1,s8,zero
jalr t9
_or a0,s2,zero
lw gp,0x18(sp)
lw v0,-0x7e0c(gp)
lw s2,0x0(v0)
lw v0,-0x7e18(gp)
b 0x0003bc88
_lw s8,0x0(v0)
b 0x0003c028
_sw zero,0x24(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x38(sp)
or a0,s7,zero
or a3,s8,zero
jalr t9
_li s2,0x3
or a0,s8,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_sb zero,0x78(sp)
b 0x0003cb24
_lw gp,0x18(sp)
lw v0,0x4(s0)
beq v0,zero,0x0003c4e4
_lw v0,0x2c(sp)
lw v0,0x0(v0)
bgtz v0,0x0003c1e8
_or s1,zero,zero
b 0x0003c4e8
_lw a0,0x8(s6)
b 0x0003c414
_li s8,0x1
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x38(sp)
or a0,s7,zero
or a3,s8,zero
jalr t9
_li s2,0x3
or a0,s8,zero
lw gp,0x18(sp)
lw t9,-0x76f8(gp)
jalr t9
_sb zero,0x78(sp)
lw gp,0x18(sp)
b 0x0003c92c
_or s1,v0,zero
or s4,zero,zero
b 0x0003ba74
_or s5,zero,zero
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003bc70
_lw gp,0x18(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x34(sp)
or a3,s2,zero
lw a0,0x24(sp)
jalr t9
_li s6,0x3
lw gp,0x18(sp)
b 0x0003b7bc
_sb zero,0x78(sp)
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003bcb0
_lw gp,0x18(sp)
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003bf00
_lw gp,0x18(sp)
lw t9,-0x7788(gp)
li a1,0x1
lw a2,0x34(sp)
or a3,s2,zero
lw a0,0x24(sp)
jalr t9
_li s6,0x3
lw gp,0x18(sp)
b 0x0003b820
_sb zero,0x78(sp)
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003c66c
_lw gp,0x18(sp)
lw t9,-0x7dfc(gp)
jalr t9
_nop
b 0x0003c590
_lw gp,0x18(sp)
lw t9,-0x7e1c(gp)
jalr t9
_lw a0,0x0(v0)
b 0x0003bb6c
_lw gp,0x18(sp)
lw t9,-0x776c(gp)
li a1,0xa
jalr t9
_or a0,s7,zero
b 0x0003c538
_lw gp,0x18(sp)
li a2,0x147
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x77c0(gp)
addiu a3,a3,0x7220
addiu a1,a1,0x7170
jalr t9
_addiu a0,a0,0x717c
lw t9,-0x7688(gp)
jalr t9
_nop
b 0x0003ca90
_li s2,0x3
(translation_unit "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "print_results(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "undefined *local_dc;" type_identifier (pointer_declarator "*local_dc" * identifier) ;) (declaration "int *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "undefined *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "int *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "undefined *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int local_88 [23];" primitive_type (array_declarator "local_88 [23]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_0008df8c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_0008df8c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_LAB_0008d628;" (assignment_expression "puVar2 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0008df8c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0008df8c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0008df8c" * (cast_expression "(int *)PTR___stack_chk_guard_0008df8c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);" (assignment_expression "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier = (cast_expression "(undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier (argument_list "(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (pointer_expression "*(undefined4 *)PTR_spec_verbose_file_0008d8bc" * (cast_expression "(undefined4 *)PTR_spec_verbose_file_0008d8bc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_LAB_0008d628 + 0x4224" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_max_user_token_number_0008da2c;" (assignment_expression "puVar5 = PTR_max_user_token_number_0008da2c" identifier = identifier) ;) (expression_statement "reduce_output(puVar10);" (call_expression "reduce_output(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x7080,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7080" identifier + number_literal) , number_literal )))) ;) (expression_statement "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);" (call_expression "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" identifier (argument_list "(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" ( identifier , identifier , identifier ))) ;) (expression_statement "conflicts_output(puVar10);" (call_expression "conflicts_output(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "grammar_rules_print(puVar10);" (call_expression "grammar_rules_print(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70ac,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70ac" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar4 = PTR_undeftoken_0008da10;" (assignment_expression "puVar4 = PTR_undeftoken_0008da10" identifier = identifier) ;) (expression_statement "puVar1 = PTR_token_translations_0008d958;" (assignment_expression "puVar1 = PTR_token_translations_0008d958" identifier = identifier) ;) (expression_statement "puVar6 = PTR_DAT_0008d800;" (assignment_expression "puVar6 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (if_statement "if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" if (parenthesized_expression "(-1 < *(int *)puVar5)" ( (binary_expression "-1 < *(int *)puVar5" number_literal < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "puVar12 = PTR_LAB_0008d628 + 0x4d80" identifier = (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7100;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7100" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)PTR_LAB_0008d628;" (assignment_expression "local_c8 = (code *)PTR_LAB_0008d628" identifier = (cast_expression "(code *)PTR_LAB_0008d628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar14 = PTR_LAB_0008d628 + 0x176c;" (assignment_expression "puVar14 = PTR_LAB_0008d628 + 0x176c" identifier = (binary_expression "PTR_LAB_0008d628 + 0x176c" identifier + number_literal)) ;) (expression_statement "local_c0 = PTR_DAT_0008d800;" (assignment_expression "local_c0 = PTR_DAT_0008d800" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    }" { (while_statement "while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" { (expression_statement "puVar7 = PTR_symbols_0008d7a4;" (assignment_expression "puVar7 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "unaff_s4 = (int *)(iVar29 * 4);" (assignment_expression "unaff_s4 = (int *)(iVar29 * 4)" identifier = (cast_expression "(int *)(iVar29 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 * 4)" ( (binary_expression "iVar29 * 4" identifier * number_literal) )))) ;) (expression_statement "local_dc = puVar10;" (assignment_expression "local_dc = puVar10" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80))" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (pointer_expression "*(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" * (cast_expression "(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (binary_expression "*(int *)(*(int *)puVar4 + 0x28) + 0x80" (pointer_expression "*(int *)(*(int *)puVar4 + 0x28)" * (cast_expression "(int *)(*(int *)puVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + 0x28)" ( (binary_expression "*(int *)puVar4 + 0x28" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);" (assignment_expression "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" identifier = (cast_expression "(int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (pointer_expression "*(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (cast_expression "(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (binary_expression "*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)PTR_symbols_0008d7a4" * (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) ))))))) ;) (expression_statement "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);" (assignment_expression "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,puVar10)" ( identifier , identifier ))) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) })) (if_statement "if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" * (cast_expression "(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (binary_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28" (pointer_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" * (cast_expression "(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (binary_expression "*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" { (expression_statement "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);" (assignment_expression "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar6 + -0x4ae0)" ( identifier , number_literal , (binary_expression "puVar6 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (int *)((int)unaff_s6 + iVar15);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s6 + iVar15)" identifier = (cast_expression "(int *)((int)unaff_s6 + iVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) })) })) (expression_statement "puVar8 = PTR_nrules_0008d7c8;" (assignment_expression "puVar8 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" ( identifier , number_literal , number_literal , (binary_expression "puVar3 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar7 = PTR_rules_0008d784;" (assignment_expression "puVar7 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" if (parenthesized_expression "(0 < *(int *)puVar8)" ( (binary_expression "0 < *(int *)puVar8" number_literal < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" { (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" statement_identifier : (do_statement "do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" do (compound_statement "{\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          }" { (expression_statement "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);" (assignment_expression "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" identifier = (pointer_expression "*(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" * (cast_expression "(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (binary_expression "(int)unaff_s3 + *(int *)puVar7 + 0xc" (binary_expression "(int)unaff_s3 + *(int *)puVar7" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "unaff_s8 = (int *)puVar7;" (assignment_expression "unaff_s8 = (int *)puVar7" identifier = (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" if (parenthesized_expression "(-1 < iVar23)" ( (binary_expression "-1 < iVar23" number_literal < identifier) )) (compound_statement "{\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" { (do_statement "do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);" do (compound_statement "{\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              }" { (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23)" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == identifier) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar23)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar23)" ( (binary_expression "(int)unaff_s6 + iVar23" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) })) (expression_statement "iVar28 = iVar15 + 1;" (assignment_expression "iVar28 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" ( (binary_expression "(int)local_88 + iVar23" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar28;" (assignment_expression "iVar15 = iVar28" identifier = identifier) ;) (if_statement "if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;" if (parenthesized_expression "(iVar28 < *(int *)puVar8)" ( (binary_expression "iVar28 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003b85c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b8bc;" goto statement_identifier ;) })) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) }) while (parenthesized_expression "(-1 < iVar23)" ( (binary_expression "-1 < iVar23" number_literal < identifier) )) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 < *(int *)puVar8)" ( (binary_expression "iVar15 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;)) })) (labeled_statement "LAB_0003b8bc:\n        iVar29 = iVar29 + 1;" statement_identifier : (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar14,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;" if (parenthesized_expression "(*(int *)puVar5 < iVar29)" ( (binary_expression "*(int *)puVar5 < iVar29" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_0003b8ec;" goto statement_identifier ;)) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 <= *(int *)puVar5)" ( (binary_expression "iVar29 <= *(int *)puVar5" identifier <= (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;" statement_identifier : (expression_statement "puVar1 = PTR_nsyms_0008d7bc;" (assignment_expression "puVar1 = PTR_nsyms_0008d7bc" identifier = identifier) ;)) (expression_statement "puVar6 = PTR_ntokens_0008d77c;" (assignment_expression "puVar6 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_c4 = (int *)PTR_nsyms_0008d7bc;" (assignment_expression "local_c4 = (int *)PTR_nsyms_0008d7bc" identifier = (cast_expression "(int *)PTR_nsyms_0008d7bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" ( (binary_expression "PTR_LAB_0008d628 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70d4,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70d4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar16 = *(int **)puVar6;" (assignment_expression "piVar16 = *(int **)puVar6" identifier = (pointer_expression "*(int **)puVar6" * (cast_expression "(int **)puVar6" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;" if (parenthesized_expression "(*(int *)puVar1 <= (int)piVar16)" ( (binary_expression "*(int *)puVar1 <= (int)piVar16" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bb54;" goto statement_identifier ;)) (expression_statement "local_d8 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "local_d8 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = local_88;" (assignment_expression "unaff_s8 = local_88" identifier = identifier) ;) (expression_statement "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);" (assignment_expression "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c)" identifier = (cast_expression "(int *)(PTR_LAB_0008d628 + 0x711c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x711c)" ( (binary_expression "PTR_LAB_0008d628 + 0x711c" identifier + number_literal) )))) ;) (expression_statement "local_c0 = PTR_LAB_0008d628;" (assignment_expression "local_c0 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_dc = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "local_dc = PTR_LAB_0008d628 + 0x4d80" identifier = (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100)" identifier = (cast_expression "(code *)(PTR_LAB_0008d628 + 0x7100)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7100)" ( (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_b8 = PTR_DAT_0008d800;" (assignment_expression "local_b8 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "local_b0 = PTR_LAB_0008d628;" (assignment_expression "local_b0 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "unaff_s6 = (int *)PTR_nrules_0008d7c8;" (assignment_expression "unaff_s6 = (int *)PTR_nrules_0008d7c8" identifier = (cast_expression "(int *)PTR_nrules_0008d7c8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );" do (compound_statement "{\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  }" { (expression_statement "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);" (assignment_expression "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4)" identifier = (pointer_expression "**(undefined4 **)(*local_d8 + (int)piVar16 * 4)" * (pointer_expression "*(undefined4 **)(*local_d8 + (int)piVar16 * 4)" * (cast_expression "(undefined4 **)(*local_d8 + (int)piVar16 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" ( (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (if_statement "if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" if (parenthesized_expression "(*unaff_s6 < 1)" ( (binary_expression "*unaff_s6 < 1" (pointer_expression "*unaff_s6" * identifier) < number_literal) )) (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" else (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = *(int *)PTR_rules_0008d784;" (assignment_expression "iVar23 = *(int *)PTR_rules_0008d784" identifier = (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar28 = *unaff_s6 * 0x60 + iVar23;" (assignment_expression "iVar28 = *unaff_s6 * 0x60 + iVar23" identifier = (binary_expression "*unaff_s6 * 0x60 + iVar23" (binary_expression "*unaff_s6 * 0x60" (pointer_expression "*unaff_s6" * identifier) * number_literal) + identifier)) ;) (do_statement "do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);" do (compound_statement "{\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      }" { (if_statement "if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }" if (parenthesized_expression "(*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16)" ( (binary_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80)" * (cast_expression "(int **)(*(int *)(iVar23 + 8) + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar23 + 8) + 0x80)" ( (binary_expression "*(int *)(iVar23 + 8) + 0x80" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar15 = iVar15 + 1;\n        }" { (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar24 = *(int **)(iVar23 + 0xc);" (assignment_expression "piVar24 = *(int **)(iVar23 + 0xc)" identifier = (pointer_expression "*(int **)(iVar23 + 0xc)" * (cast_expression "(int **)(iVar23 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) (while_statement "while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" while (parenthesized_expression "(-1 < (int)piVar26)" ( (binary_expression "-1 < (int)piVar26" number_literal < (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" { (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) (if_statement "if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" if (parenthesized_expression "(piVar26 == piVar16)" ( (binary_expression "piVar26 == piVar16" identifier == identifier) )) (compound_statement "{\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" { (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" identifier = (cast_expression "(int *)((int)unaff_s4 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (break_statement "break;" break ;) })) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) })) (expression_statement "iVar23 = iVar23 + 0x60;" (assignment_expression "iVar23 = iVar23 + 0x60" identifier = (binary_expression "iVar23 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar28 != iVar23)" ( (binary_expression "iVar28 != iVar23" identifier != identifier) )) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,puVar10)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" * (cast_expression "(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" ( (binary_expression "*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28" (pointer_expression "*(int *)(*local_d8 + (int)piVar16 * 4)" * (cast_expression "(int *)(*local_d8 + (int)piVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" ( (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" { (expression_statement "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);" (assignment_expression "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_b8 + -0x4ae0)" ( identifier , number_literal , (binary_expression "local_b8 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "iVar29 = iVar29 + iVar23;" (assignment_expression "iVar29 = iVar29 + iVar23" identifier = (binary_expression "iVar29 + iVar23" identifier + identifier)) ;) })) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" ( identifier , number_literal , number_literal , (binary_expression "local_c0 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" if (parenthesized_expression "((int)unaff_s3 + iVar29 == 0)" ( (binary_expression "(int)unaff_s3 + iVar29 == 0" (binary_expression "(int)unaff_s3 + iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) == number_literal) )) (compound_statement "{\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }" { (if_statement "if (iVar15 != 0) goto LAB_0003ca94;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003ca94;" goto statement_identifier ;)) }) (else_clause "else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" else (compound_statement "{\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" { (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;" if (parenthesized_expression "((int)unaff_s3 + 3U < 0x42)" ( (binary_expression "(int)unaff_s3 + 3U < 0x42" (binary_expression "(int)unaff_s3 + 3U" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) < number_literal) )) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;) })) (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) }))) (if_statement "if (unaff_s4 != (int *)0x0) goto LAB_0003c910;" if (parenthesized_expression "(unaff_s4 != (int *)0x0)" ( (binary_expression "unaff_s4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c910;" goto statement_identifier ;)) (while_statement "while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" { (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + 1)" ( (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc + 0x176c,unaff_s8)" ( identifier , number_literal , (binary_expression "local_bc + 0x176c" identifier + number_literal) , identifier ))) ;) (if_statement "if ((int)piVar16 < *local_c4) break;" if (parenthesized_expression "((int)piVar16 < *local_c4)" ( (binary_expression "(int)piVar16 < *local_c4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*local_c4" * identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;" statement_identifier : (expression_statement "puVar2 = PTR_report_flag_0008d71c;" (assignment_expression "puVar2 = PTR_report_flag_0008d71c" identifier = identifier) ;)) (expression_statement "local_c4 = (int *)PTR_report_flag_0008d71c;" (assignment_expression "local_c4 = (int *)PTR_report_flag_0008d71c" identifier = (cast_expression "(int *)PTR_report_flag_0008d71c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" if (parenthesized_expression "((*(uint *)PTR_report_flag_0008d71c & 2) != 0)" ( (binary_expression "(*(uint *)PTR_report_flag_0008d71c & 2) != 0" (parenthesized_expression "(*(uint *)PTR_report_flag_0008d71c & 2)" ( (binary_expression "*(uint *)PTR_report_flag_0008d71c & 2" (pointer_expression "*(uint *)PTR_report_flag_0008d71c" * (cast_expression "(uint *)PTR_report_flag_0008d71c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" { (expression_statement "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);" (call_expression "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0)" (parenthesized_expression "(*(code *)PTR_new_closure_0008d7d4)" ( (pointer_expression "*(code *)PTR_new_closure_0008d7d4" * (cast_expression "(code *)PTR_new_closure_0008d7d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_nritems_0008d7d0)" ( (pointer_expression "*(undefined4 *)PTR_nritems_0008d7d0" * (cast_expression "(undefined4 *)PTR_nritems_0008d7d0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "puVar5 = PTR_nstates_0008d698;" (assignment_expression "puVar5 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" identifier = identifier) ;) (expression_statement "local_d8 = (int *)PTR_DAT_0008d618;" (assignment_expression "local_d8 = (int *)PTR_DAT_0008d618" identifier = (cast_expression "(int *)PTR_DAT_0008d618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar11 = bitset_create(*(undefined4 *)puVar6,1);" (assignment_expression "uVar11 = bitset_create(*(undefined4 *)puVar6,1)" identifier = (call_expression "bitset_create(*(undefined4 *)puVar6,1)" identifier (argument_list "(*(undefined4 *)puVar6,1)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (expression_statement "iVar29 = *(int *)puVar5;" (assignment_expression "iVar29 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11;" (assignment_expression "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11" (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar12 = PTR_states_0008d7f8;" (assignment_expression "puVar12 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_LAB_0008d628;" (assignment_expression "puVar4 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "piVar16 = (int *)puVar5;" (assignment_expression "piVar16 = (int *)puVar5" identifier = (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" { (expression_statement "local_c0 = (undefined *)0x0;" (assignment_expression "local_c0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);" (assignment_expression "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4cdc)" ( (binary_expression "PTR_LAB_0008db4c + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_DAT_0008d800 + -0x4654;" (assignment_expression "local_bc = PTR_DAT_0008d800 + -0x4654" identifier = (binary_expression "PTR_DAT_0008d800 + -0x4654" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4f10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4f10)" ( (binary_expression "PTR_LAB_0008db4c + -0x4f10" identifier + number_literal) )))) ;) (do_statement "do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);" do (compound_statement "{\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        }" { (expression_statement "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);" (assignment_expression "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4)" identifier = (pointer_expression "*(int **)(*(int *)puVar12 + (int)local_c0 * 4)" * (cast_expression "(int **)(*(int *)puVar12 + (int)local_c0 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar12 + (int)local_c0 * 4)" ( (binary_expression "*(int *)puVar12 + (int)local_c0 * 4" (pointer_expression "*(int *)puVar12" * (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)local_c0 * 4" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + 0x4938,1,2,puVar10)" ( (binary_expression "puVar3 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4 + 0x7128,5)" ( number_literal , (binary_expression "puVar4 + 0x7128" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,uVar11,*unaff_s6)" ( identifier , number_literal , identifier , (pointer_expression "*unaff_s6" * identifier) ))) ;) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" else (compound_statement "{\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "piVar24 = unaff_s6 + 10;" (assignment_expression "piVar24 = unaff_s6 + 10" identifier = (binary_expression "unaff_s6 + 10" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)unaff_s6[9];" (assignment_expression "piVar16 = (int *)unaff_s6[9]" identifier = (cast_expression "(int *)unaff_s6[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[9]" identifier [ number_literal ]))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" { (expression_statement "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);" (call_expression "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16)" (parenthesized_expression "(*(code *)PTR_closure_0008d7dc)" ( (pointer_expression "*(code *)PTR_closure_0008d7dc" * (cast_expression "(code *)PTR_closure_0008d7dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar24,piVar16)" ( identifier , identifier ))) ;) (expression_statement "piVar24 = *(int **)PTR_itemset_0008d7e4;" (assignment_expression "piVar24 = *(int **)PTR_itemset_0008d7e4" identifier = (pointer_expression "*(int **)PTR_itemset_0008d7e4" * (cast_expression "(int **)PTR_itemset_0008d7e4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar16 = *(int **)PTR_nitemset_0008d7d8;" (assignment_expression "piVar16 = *(int **)PTR_nitemset_0008d7d8" identifier = (pointer_expression "*(int **)PTR_nitemset_0008d7d8" * (cast_expression "(int **)PTR_nitemset_0008d7d8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "unaff_s8 = piVar16;" (assignment_expression "unaff_s8 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" if (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" identifier = (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = (int *)PTR_ritem_0008d780;" (assignment_expression "unaff_s8 = (int *)PTR_ritem_0008d780" identifier = (cast_expression "(int *)PTR_ritem_0008d780" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar16 = piVar24 + (int)piVar16;" (assignment_expression "piVar16 = piVar24 + (int)piVar16" identifier = (binary_expression "piVar24 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b8 = PTR_LAB_0008d628 + 0x7138;" (assignment_expression "local_b8 = PTR_LAB_0008d628 + 0x7138" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7138" identifier + number_literal)) ;) (do_statement "do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);" do (compound_statement "{\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            }" { (expression_statement "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);" (assignment_expression "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4)" identifier = (cast_expression "(uint *)(*unaff_s8 + *piVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*unaff_s8 + *piVar24 * 4)" ( (binary_expression "*unaff_s8 + *piVar24 * 4" (pointer_expression "*unaff_s8" * identifier) + (binary_expression "*piVar24 * 4" (pointer_expression "*piVar24" * identifier) * number_literal)) )))) ;) (expression_statement "uVar30 = *puVar27;" (assignment_expression "uVar30 = *puVar27" identifier = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "puVar31 = puVar27;" (assignment_expression "puVar31 = puVar27" identifier = identifier) ;) (while_statement "while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" while (parenthesized_expression "(-1 < (int)uVar30)" ( (binary_expression "-1 < (int)uVar30" number_literal < (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" { (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) })) (expression_statement "iVar29 = ~uVar30 * 0x60;" (assignment_expression "iVar29 = ~uVar30 * 0x60" identifier = (binary_expression "~uVar30 * 0x60" (unary_expression "~uVar30" ~ identifier) * number_literal)) ;) (expression_statement "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);" (call_expression "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10)" identifier (argument_list "(*unaff_s3 + iVar29,local_dc,puVar10)" ( (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) , identifier , identifier ))) ;) (expression_statement "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);" (assignment_expression "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc)" identifier = (pointer_expression "*(uint **)(*unaff_s3 + iVar29 + 0xc)" * (cast_expression "(uint **)(*unaff_s3 + iVar29 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" ( (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) ;) (expression_statement "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);" (assignment_expression "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8)" identifier = (pointer_expression "*(undefined **)(*unaff_s3 + iVar29 + 8)" * (cast_expression "(undefined **)(*unaff_s3 + iVar29 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 8)" ( (binary_expression "*unaff_s3 + iVar29 + 8" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar32 = puVar31;" (assignment_expression "puVar32 = puVar31" identifier = identifier) ;) (if_statement "if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" if (parenthesized_expression "(puVar31 < puVar27)" ( (binary_expression "puVar31 < puVar27" identifier < identifier) )) (compound_statement "{\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" { (do_statement "do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);" do (compound_statement "{\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                }" { (expression_statement "puVar33 = puVar32 + 1;" (assignment_expression "puVar33 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(*unaff_s4 + *puVar32 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + *puVar32 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + *puVar32 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + *puVar32 * 4)" ( (binary_expression "*unaff_s4 + *puVar32 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "*puVar32 * 4" (pointer_expression "*puVar32" * identifier) * number_literal)) ))))) ))) ;) (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" identifier = identifier) ;) }) while (parenthesized_expression "(puVar33 < puVar27)" ( (binary_expression "puVar33 < puVar27" identifier < identifier) )) ;) (expression_statement "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;" (assignment_expression "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" identifier = (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" identifier + (parenthesized_expression "((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" ( (binary_expression "(uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2" (call_expression "(uint)((int)puVar27 + (-1 - (int)puVar31))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar27 + (-1 - (int)puVar31))" ( (binary_expression "(int)puVar27 + (-1 - (int)puVar31)" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-1 - (int)puVar31)" ( (binary_expression "-1 - (int)puVar31" number_literal - (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) ))) + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4 + 0x7134,1,2,puVar10)" ( (binary_expression "puVar4 + 0x7134" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" if (parenthesized_expression "(**(int **)(*unaff_s3 + iVar29 + 0xc) < 0)" ( (binary_expression "**(int **)(*unaff_s3 + iVar29 + 0xc) < 0" (pointer_expression "**(int **)(*unaff_s3 + iVar29 + 0xc)" * (pointer_expression "*(int **)(*unaff_s3 + iVar29 + 0xc)" * (cast_expression "(int **)(*unaff_s3 + iVar29 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" ( (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) < number_literal) )) (compound_statement "{\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_b8)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" else (compound_statement "{\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" { (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (while_statement "while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" while (parenthesized_expression "(-1 < (int)uVar30)" ( (binary_expression "-1 < (int)uVar30" number_literal < (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" { (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar30 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar30 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar30 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar30 * 4)" ( (binary_expression "*unaff_s4 + uVar30 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar30 * 4" identifier * number_literal)) ))))) ))) ;) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) })) }))) (if_statement "if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" if (parenthesized_expression "(((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27))" ( (binary_expression "((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)" (parenthesized_expression "((*(uint *)puVar2 & 4) == 0)" ( (binary_expression "(*(uint *)puVar2 & 4) == 0" (parenthesized_expression "(*(uint *)puVar2 & 4)" ( (binary_expression "*(uint *)puVar2 & 4" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) || (parenthesized_expression "(-1 < (int)*puVar27)" ( (binary_expression "-1 < (int)*puVar27" number_literal < (cast_expression "(int)*puVar27" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar27" * identifier))) ))) )) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0003be58;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;)) }) (else_clause "else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" else (compound_statement "{\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" { (expression_statement "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);" (call_expression "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10)" identifier (argument_list "(unaff_s6,*unaff_s3 + iVar29,puVar10)" ( identifier , (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) , identifier ))) ;) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;" if (parenthesized_expression "(*(undefined1 **)(puVar10 + 0x18) <= puVar22)" ( (binary_expression "*(undefined1 **)(puVar10 + 0x18) <= puVar22" (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;)) (labeled_statement "LAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" statement_identifier : (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }))) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar16 != piVar24)" ( (binary_expression "piVar16 != piVar24" identifier != identifier) )) ;) })) (expression_statement "(*pcVar17)(unaff_s6[2],puVar10,1);" (call_expression "(*pcVar17)(unaff_s6[2],puVar10,1)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(unaff_s6[2],puVar10,1)" ( (subscript_expression "unaff_s6[2]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "piVar16 = (int *)unaff_s6[4];" (assignment_expression "piVar16 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (expression_statement "piVar24 = (int *)*piVar16;" (assignment_expression "piVar24 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (if_statement "if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" if (parenthesized_expression "(0 < (int)piVar24)" ( (binary_expression "0 < (int)piVar24" number_literal < (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" { (expression_statement "piVar26 = piVar16 + 1;" (assignment_expression "piVar26 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = piVar26;" (assignment_expression "unaff_s3 = piVar26" identifier = identifier) ;) (do_statement "do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);" do (compound_statement "{\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            }" { (if_statement "if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }" if (parenthesized_expression "(((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 ))" ( (binary_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" (parenthesized_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*unaff_s3 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" ( (comma_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18" (assignment_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)*unaff_s3)" ( (pointer_expression "*(undefined4 *)*unaff_s3" * (cast_expression "(undefined4 *)*unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier))) )))) , (binary_expression "uVar30 < uVar18" identifier < identifier)) ))) )) (compound_statement "{\n                uVar30 = uVar18;\n              }" { (expression_statement "uVar30 = uVar18;" (assignment_expression "uVar30 = uVar18" identifier = identifier) ;) })) (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" identifier = (cast_expression "(int *)((int)unaff_s4 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s4 != piVar24)" ( (binary_expression "unaff_s4 != piVar24" identifier != identifier) )) ;) (if_statement "if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" if (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) )) (compound_statement "{\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" else (compound_statement "{\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (if_statement "if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" { (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7028;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7028" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7028" identifier + number_literal)) ;) (expression_statement "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);" (assignment_expression "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144)" identifier = (cast_expression "(int *)(PTR_LAB_0008d628 + 0x7144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7144)" ( (binary_expression "PTR_LAB_0008d628 + 0x7144" identifier + number_literal) )))) ;) (do_statement "do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);" do (compound_statement "{\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                }" { (while_statement "while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" while (parenthesized_expression "((undefined4 *)*piVar26 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*piVar26 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" { (expression_statement "uVar11 = *(undefined4 *)*piVar26;" (assignment_expression "uVar11 = *(undefined4 *)*piVar26" identifier = (pointer_expression "*(undefined4 *)*piVar26" * (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier)))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,uVar11)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "unaff_s8 = (int *)((uVar30 + 2) - iVar29);" (assignment_expression "unaff_s8 = (int *)((uVar30 + 2) - iVar29)" identifier = (cast_expression "(int *)((uVar30 + 2) - iVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar30 + 2) - iVar29)" ( (binary_expression "(uVar30 + 2) - iVar29" (parenthesized_expression "(uVar30 + 2)" ( (binary_expression "uVar30 + 2" identifier + number_literal) )) - identifier) )))) ;) (if_statement "if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" { (do_statement "do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);" do (compound_statement "{\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 0x20;" (assignment_expression "*puVar22 = 0x20" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" else (compound_statement "{\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,0x20);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,0x20)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s8 = (int *)((int)unaff_s8 + -1);" (assignment_expression "unaff_s8 = (int *)((int)unaff_s8 + -1)" identifier = (cast_expression "(int *)((int)unaff_s8 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + -1)" ( (binary_expression "(int)unaff_s8 + -1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s8 != (int *)0x0)" ( (binary_expression "unaff_s8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,puVar10)" ( identifier , identifier ))) ;) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (if_statement "if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;" if (parenthesized_expression "(iVar29 <= (int)unaff_s3)" ( (binary_expression "iVar29 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bfe0;" goto statement_identifier ;)) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar29)" ( (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) })) (labeled_statement "LAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];" statement_identifier : (expression_statement "piVar16 = (int *)unaff_s6[3];" (assignment_expression "piVar16 = (int *)unaff_s6[3]" identifier = (cast_expression "(int *)unaff_s6[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[3]" identifier [ number_literal ]))) ;)) (if_statement "if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" if (parenthesized_expression "(*piVar16 == 0)" ( (binary_expression "*piVar16 == 0" (pointer_expression "*piVar16" * identifier) == number_literal) )) (compound_statement "{\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }" { (labeled_statement "LAB_0003c4e4:\n            iVar29 = unaff_s6[2];" statement_identifier : (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" identifier = (subscript_expression "unaff_s6[2]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" else (compound_statement "{\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" { (expression_statement "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);" (assignment_expression "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" * (cast_expression "(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" ( (binary_expression "*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4" (pointer_expression "*(int *)PTR_yydefact_0008d968" * (cast_expression "(int *)PTR_yydefact_0008d968" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*unaff_s6 * 4" (pointer_expression "*unaff_s6" * identifier) * number_literal)) ))))) ;) (if_statement "if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n              local_dc = (undefined *)0x0;\n            }" { (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" else (compound_statement "{\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" { (expression_statement "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);" (assignment_expression "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" identifier = (cast_expression "(undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" ( (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60" (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60" (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar29 * 0x60" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" identifier = (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "piVar24 = (int *)unaff_s6[2];" (assignment_expression "piVar24 = (int *)unaff_s6[2]" identifier = (cast_expression "(int *)unaff_s6[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[2]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));" (call_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0))" (parenthesized_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))" ( (pointer_expression "**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (pointer_expression "*(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (cast_expression "(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (binary_expression "**(int **)(puVar1 + -0x1cf0) + 0x24" (pointer_expression "**(int **)(puVar1 + -0x1cf0)" * (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar1 + -0x1cf0))" ( (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" { (expression_statement "unaff_s4 = piVar24 + 1;" (assignment_expression "unaff_s4 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" statement_identifier : (do_statement "do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" do (compound_statement "{\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              }" { (if_statement "if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" if (parenthesized_expression "(*unaff_s4 != 0)" ( (binary_expression "*unaff_s4 != 0" (pointer_expression "*unaff_s4" * identifier) != number_literal) )) (compound_statement "{\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" { (expression_statement "uVar30 = *(uint *)(*unaff_s4 + 4);" (assignment_expression "uVar30 = *(uint *)(*unaff_s4 + 4)" identifier = (pointer_expression "*(uint *)(*unaff_s4 + 4)" * (cast_expression "(uint *)(*unaff_s4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*unaff_s4 + 4)" ( (binary_expression "*unaff_s4 + 4" (pointer_expression "*unaff_s4" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)puVar6 <= (int)uVar30) break;" if (parenthesized_expression "(*(int *)puVar6 <= (int)uVar30)" ( (binary_expression "*(int *)puVar6 <= (int)uVar30" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = (uVar30 >> 5) - puVar25[1];" (assignment_expression "uVar18 = (uVar30 >> 5) - puVar25[1]" identifier = (binary_expression "(uVar30 >> 5) - puVar25[1]" (parenthesized_expression "(uVar30 >> 5)" ( (binary_expression "uVar30 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar25[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" if (parenthesized_expression "((uint)puVar25[2] <= uVar18)" ( (binary_expression "(uint)puVar25[2] <= uVar18" (cast_expression "(uint)puVar25[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar25[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" { (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" ( (pointer_expression "**(code **)*puVar25" * (pointer_expression "*(code **)*puVar25" * (cast_expression "(code **)*puVar25" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (iVar29 <= (int)unaff_s3) break;" if (parenthesized_expression "(iVar29 <= (int)unaff_s3)" ( (binary_expression "iVar29 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c088;" goto statement_identifier ;) })) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar18 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar18 * 4)" identifier = (cast_expression "(uint *)(puVar25[3] + uVar18 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25[3] + uVar18 * 4)" ( (binary_expression "puVar25[3] + uVar18 * 4" (subscript_expression "puVar25[3]" identifier [ number_literal ]) + (binary_expression "uVar18 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" * identifier) = (binary_expression "*puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" * identifier) | (binary_expression "1 << (uVar30 & 0x1f)" number_literal << (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar29)" ( (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;)) })) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" if (parenthesized_expression "(0 < *piVar24)" ( (binary_expression "0 < *piVar24" number_literal < (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" { (labeled_statement "LAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" statement_identifier : (do_statement "do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" do (compound_statement "{\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              }" { (if_statement "if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" if (parenthesized_expression "(piVar24[iVar29 + 1] != 0)" ( (binary_expression "piVar24[iVar29 + 1] != 0" (subscript_expression "piVar24[iVar29 + 1]" identifier [ (binary_expression "iVar29 + 1" identifier + number_literal) ]) != number_literal) )) (compound_statement "{\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" { (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);" (assignment_expression "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" identifier = (pointer_expression "*(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" * (cast_expression "(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" ( (binary_expression "*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80" (pointer_expression "*(int *)(piVar24[iVar29 + 1] + 0x28)" * (cast_expression "(int *)(piVar24[iVar29 + 1] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[iVar29 + 1] + 0x28)" ( (binary_expression "piVar24[iVar29 + 1] + 0x28" (subscript_expression "piVar24[iVar29 + 1]" identifier [ (binary_expression "iVar29 + 1" identifier + number_literal) ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar30 = (uVar18 >> 5) - puVar25[1];" (assignment_expression "uVar30 = (uVar18 >> 5) - puVar25[1]" identifier = (binary_expression "(uVar18 >> 5) - puVar25[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar25[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" if (parenthesized_expression "((uint)puVar25[2] <= uVar30)" ( (binary_expression "(uint)puVar25[2] <= uVar30" (cast_expression "(uint)puVar25[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar25[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" ( (pointer_expression "**(code **)*puVar25" * (pointer_expression "*(code **)*puVar25" * (cast_expression "(code **)*puVar25" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (if_statement "if (*piVar24 <= iVar29) break;" if (parenthesized_expression "(*piVar24 <= iVar29)" ( (binary_expression "*piVar24 <= iVar29" (pointer_expression "*piVar24" * identifier) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c138;" goto statement_identifier ;) })) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar30 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar30 * 4)" identifier = (cast_expression "(uint *)(puVar25[3] + uVar30 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25[3] + uVar30 * 4)" ( (binary_expression "puVar25[3] + uVar30 * 4" (subscript_expression "puVar25[3]" identifier [ number_literal ]) + (binary_expression "uVar30 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" * identifier) = (binary_expression "*puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" * identifier) | (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 < *piVar24)" ( (binary_expression "iVar29 < *piVar24" identifier < (pointer_expression "*piVar24" * identifier)) )) ;)) })) (if_statement "if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" if (parenthesized_expression "(local_dc != (undefined *)0x0)" ( (binary_expression "local_dc != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (if_statement "if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" if (parenthesized_expression "((piVar16[1] != 0) && (0 < *(int *)puVar6))" ( (binary_expression "(piVar16[1] != 0) && (0 < *(int *)puVar6)" (parenthesized_expression "(piVar16[1] != 0)" ( (binary_expression "piVar16[1] != 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" { (labeled_statement "LAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;" statement_identifier : (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (do_statement "do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);" do (compound_statement "{\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                }" { (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = (uVar18 >> 5) - piVar24[1];" (assignment_expression "uVar19 = (uVar18 >> 5) - piVar24[1]" identifier = (binary_expression "(uVar18 >> 5) - piVar24[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar24[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" if (parenthesized_expression "(uVar19 < (uint)piVar24[2])" ( (binary_expression "uVar19 < (uint)piVar24[2]" identifier < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }" { (expression_statement "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + uVar19 * 4)" * (cast_expression "(uint *)(piVar24[3] + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + uVar19 * 4)" ( (binary_expression "piVar24[3] + uVar19 * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" else (compound_statement "{\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" { (expression_statement "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);" (assignment_expression "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar18)" ( identifier , identifier )))) ;) }))) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "piVar24 = piVar16 + 2;" (assignment_expression "piVar24 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s3 = piVar24;" (assignment_expression "unaff_s3 = piVar24" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" { (expression_statement "local_b8 = (undefined *)(uVar18 & 0x1f);" (assignment_expression "local_b8 = (undefined *)(uVar18 & 0x1f)" identifier = (cast_expression "(undefined *)(uVar18 & 0x1f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);" do (compound_statement "{\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    }" { (expression_statement "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);" (assignment_expression "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4)" identifier = (pointer_expression "*(int **)(piVar16[1] + (int)unaff_s3 * 4)" * (cast_expression "(int **)(piVar16[1] + (int)unaff_s3 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar16[1] + (int)unaff_s3 * 4)" ( (binary_expression "piVar16[1] + (int)unaff_s3 * 4" (subscript_expression "piVar16[1]" identifier [ number_literal ]) + (binary_expression "(int)unaff_s3 * 4" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar20 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar20 = (uVar18 >> 5) - piVar26[1]" identifier = (binary_expression "(uVar18 >> 5) - piVar26[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar26[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" if (parenthesized_expression "(uVar20 < (uint)piVar26[2])" ( (binary_expression "uVar20 < (uint)piVar26[2]" identifier < (cast_expression "(uint)piVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar26[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }" { (expression_statement "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" identifier = (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8" (pointer_expression "*(uint *)(piVar26[3] + uVar20 * 4)" * (cast_expression "(uint *)(piVar26[3] + uVar20 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[3] + uVar20 * 4)" ( (binary_expression "piVar26[3] + uVar20 * 4" (subscript_expression "piVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar20 * 4" identifier * number_literal)) )))) >> (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" else (compound_statement "{\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" { (expression_statement "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" identifier = (call_expression "(**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" (parenthesized_expression "(**(code **)(*piVar26 + 0xc))" ( (pointer_expression "**(code **)(*piVar26 + 0xc)" * (pointer_expression "*(code **)(*piVar26 + 0xc)" * (cast_expression "(code **)(*piVar26 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar26 + 0xc)" ( (binary_expression "*piVar26 + 0xc" (pointer_expression "*piVar26" * identifier) + number_literal) ))))) )) (argument_list "(piVar26,uVar18)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) }))) (if_statement "if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" { (if_statement "if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }" { (expression_statement "uVar19 = uVar20;" (assignment_expression "uVar19 = uVar20" identifier = identifier) ;) (if_statement "if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }" if (parenthesized_expression "((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20))" ( (binary_expression "(local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" (parenthesized_expression "(local_dc != (undefined *)*piVar24)" ( (binary_expression "local_dc != (undefined *)*piVar24" identifier != (cast_expression "(undefined *)*piVar24" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) )) && (parenthesized_expression "(uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" ( (comma_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" ( (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" ( (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) )))) , (binary_expression "uVar30 < uVar20" identifier < identifier)) ))) )) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" { (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" identifier = identifier) ;) })) }) (else_clause "else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" else (compound_statement "{\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" { (expression_statement "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" ( (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" ( (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) )))) ;) (if_statement "if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }" if (parenthesized_expression "(uVar30 < uVar20)" ( (binary_expression "uVar30 < uVar20" identifier < identifier) )) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" { (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" identifier = identifier) ;) })) }))) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < (int)unaff_s8)" ( (binary_expression "(int)unaff_s3 < (int)unaff_s8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = unaff_s6;" (assignment_expression "local_b4 = unaff_s6" identifier = identifier) ;) (expression_statement "local_b0 = puVar10;" (assignment_expression "local_b0 = puVar10" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar18 < *(int *)puVar6)" ( (binary_expression "(int)uVar18 < *(int *)puVar6" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (if_statement "if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" if (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) )) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" else (compound_statement "{\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "puVar13 = PTR_symbols_0008d7a4;" (assignment_expression "puVar13 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "iVar29 = uVar30 + 2;" (assignment_expression "iVar29 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) ;) (if_statement "if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" if (parenthesized_expression "(piVar16[1] == 0)" ( (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                }" { (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" else (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" { (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" { (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);" do (compound_statement "{\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    }" { (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = (undefined *)(uVar30 >> 5);" (assignment_expression "local_b8 = (undefined *)(uVar30 >> 5)" identifier = (cast_expression "(undefined *)(uVar30 >> 5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar30 >> 5)" ( (binary_expression "uVar30 >> 5" identifier >> number_literal) )))) ;) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" if (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" ( (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) ))) < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }" { (expression_statement "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" * (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) )) * number_literal)) )))) >> (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" else (compound_statement "{\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" { (expression_statement "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar30)" ( identifier , identifier )))) ;) }))) (if_statement "if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                        unaff_s8 = (int *)0x0;\n                      }" { (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (if_statement "if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" if (parenthesized_expression "(0 < *piVar16)" ( (binary_expression "0 < *piVar16" number_literal < (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" { (expression_statement "iVar23 = uVar30 * 4;" (assignment_expression "iVar23 = uVar30 * 4" identifier = (binary_expression "uVar30 * 4" identifier * number_literal)) ;) (expression_statement "unaff_s3 = piVar16 + 2;" (assignment_expression "unaff_s3 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "local_b0 = local_dc + 4;" (assignment_expression "local_b0 = local_dc + 4" identifier = (binary_expression "local_dc + 4" identifier + number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (int *)(uVar30 & 0x1f);" (assignment_expression "local_b4 = (int *)(uVar30 & 0x1f)" identifier = (cast_expression "(int *)(uVar30 & 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);" do (compound_statement "{\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        }" { (expression_statement "piVar24 = *(int **)(piVar16[1] + iVar15 * 4);" (assignment_expression "piVar24 = *(int **)(piVar16[1] + iVar15 * 4)" identifier = (pointer_expression "*(int **)(piVar16[1] + iVar15 * 4)" * (cast_expression "(int **)(piVar16[1] + iVar15 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar16[1] + iVar15 * 4)" ( (binary_expression "piVar16[1] + iVar15 * 4" (subscript_expression "piVar16[1]" identifier [ number_literal ]) + (binary_expression "iVar15 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" if (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" ( (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) ))) < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }" { (expression_statement "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" * (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) )) * number_literal)) )))) >> (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" else (compound_statement "{\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" { (expression_statement "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar30)" ( identifier , identifier )))) ;) }))) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" identifier = identifier) ;) (if_statement "if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" { (if_statement "if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }" { (expression_statement "puVar14 = (undefined *)*unaff_s3;" (assignment_expression "puVar14 = (undefined *)*unaff_s3" identifier = (cast_expression "(undefined *)*unaff_s3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier))) ;) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (expression_statement "uVar34 = uVar20;" (assignment_expression "uVar34 = uVar20" identifier = identifier) ;) (if_statement "if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" if (parenthesized_expression "(local_dc != puVar14)" ( (binary_expression "local_dc != puVar14" identifier != identifier) )) (compound_statement "{\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" { (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" ( identifier , identifier , (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) , (binary_expression "puVar14 + 4" identifier + number_literal) , (binary_expression "puVar14 + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" identifier = identifier) ;) })) }) (else_clause "else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" else (compound_statement "{\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" { (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) (if_statement "if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" { (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" ( identifier , identifier , identifier , identifier , (binary_expression "local_dc + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) })) (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" ( identifier , identifier , identifier , (binary_expression "*unaff_s3 + 4" (pointer_expression "*unaff_s3" * identifier) + number_literal) , (binary_expression "*unaff_s3 + 8" (pointer_expression "*unaff_s3" * identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s8;" (assignment_expression "unaff_s4 = unaff_s8" identifier = identifier) ;) (expression_statement "uVar19 = uVar34;" (assignment_expression "uVar19 = uVar34" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < *piVar16)" ( (binary_expression "iVar15 < *piVar16" identifier < (pointer_expression "*piVar16" * identifier)) )) ;) })) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar30 < *(int *)puVar6)" ( (binary_expression "(int)uVar30 < *(int *)puVar6" (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) }))) (if_statement "if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" if (parenthesized_expression "(local_dc != (undefined *)0x0)" ( (binary_expression "local_dc != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" { (expression_statement "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);" (assignment_expression "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier = (call_expression "muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier (argument_list "(PTR_LAB_0008d628 + 0x3c20)" ( (binary_expression "PTR_LAB_0008d628 + 0x3c20" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" ( identifier , identifier , identifier , (binary_expression "local_dc + 4" identifier + number_literal) , (binary_expression "local_dc + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x715c)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x715c" identifier + number_literal) )))) ;) (if_statement "if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" if (parenthesized_expression "(((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))))" ( (binary_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" (parenthesized_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))))" ( (binary_expression "(iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" ( (parenthesized_expression "(iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))" ( (comma_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x7164)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x7164" identifier + number_literal) )))) , (binary_expression "iVar29 != 0 || (unaff_s8 == (int *)0x0)" (binary_expression "iVar29 != 0" identifier != number_literal) || (parenthesized_expression "(unaff_s8 == (int *)0x0)" ( (binary_expression "unaff_s8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) && (parenthesized_expression "((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" ( (parenthesized_expression "(*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))" ( (binary_expression "*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)" (binary_expression "*piVar16 != 1" (pointer_expression "*piVar16" * identifier) != number_literal) || (parenthesized_expression "(*(int *)(piVar16[2] + 4) != 0)" ( (binary_expression "*(int *)(piVar16[2] + 4) != 0" (pointer_expression "*(int *)(piVar16[2] + 4)" * (cast_expression "(int *)(piVar16[2] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16[2] + 4)" ( (binary_expression "piVar16[2] + 4" (subscript_expression "piVar16[2]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" { (expression_statement "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);" (call_expression "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" (parenthesized_expression "(*(code *)PTR___assert_fail_0008de30)" ( (pointer_expression "*(code *)PTR___assert_fail_0008de30" * (cast_expression "(code *)PTR___assert_fail_0008de30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" ( (binary_expression "PTR_LAB_0008d628 + 0x717c" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x7170" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7220" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_free_0008df9c)(uVar11);" (call_expression "(*(code *)PTR_free_0008df9c)(uVar11)" (parenthesized_expression "(*(code *)PTR_free_0008df9c)" ( (pointer_expression "*(code *)PTR_free_0008df9c" * (cast_expression "(code *)PTR_free_0008df9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier ))) ;) })) })) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;) })) (if_statement "if (piVar16[1] == 0) goto LAB_0003c4e4;" if (parenthesized_expression "(piVar16[1] == 0)" ( (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;)) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)puVar6) goto LAB_0003c1e8;" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003c1e8;" goto statement_identifier ;)) (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" identifier = (subscript_expression "unaff_s6[2]" identifier [ number_literal ])) ;) }))) (expression_statement "(*pcVar17)(iVar29,puVar10,0);" (call_expression "(*pcVar17)(iVar29,puVar10,0)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar29,puVar10,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" if (parenthesized_expression "(((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0))" ( (binary_expression "((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)" (parenthesized_expression "((*(uint *)puVar2 & 8) != 0)" ( (binary_expression "(*(uint *)puVar2 & 8) != 0" (parenthesized_expression "(*(uint *)puVar2 & 8)" ( (binary_expression "*(uint *)puVar2 & 8" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) && (parenthesized_expression "(unaff_s6[7] != 0)" ( (binary_expression "unaff_s6[7] != 0" (subscript_expression "unaff_s6[7]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6[7],puVar10)" ( (subscript_expression "unaff_s6[7]" identifier [ number_literal ]) , identifier ))) ;) })) (expression_statement "local_c0 = local_c0 + 1;" (assignment_expression "local_c0 = local_c0 + 1" identifier = (binary_expression "local_c0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)local_c0 < *(int *)puVar5)" ( (binary_expression "(int)local_c0 < *(int *)puVar5" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (expression_statement "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);" (assignment_expression "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) })) (expression_statement "bitset_free(uVar11);" (call_expression "bitset_free(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" { (expression_statement "(*(code *)PTR_free_closure_0008d7f4)();" (call_expression "(*(code *)PTR_free_closure_0008d7f4)()" (parenthesized_expression "(*(code *)PTR_free_closure_0008d7f4)" ( (pointer_expression "*(code *)PTR_free_closure_0008d7f4" * (cast_expression "(code *)PTR_free_closure_0008d7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "xfclose(puVar10);" (call_expression "xfclose(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (if_statement "if (local_2c == *(int *)puVar9) {\n        return;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar9)" ( (binary_expression "local_2c == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0008df68)();" (call_expression "(*(code *)PTR___stack_chk_fail_0008df68)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0008df68)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0008df68" * (cast_expression "(code *)PTR___stack_chk_fail_0008df68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0003ca90:\n      iVar29 = 3;" statement_identifier : (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;)) (labeled_statement "LAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" statement_identifier : (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b0 + 0x7110,5)" ( number_literal , (binary_expression "local_b0 + 0x7110" identifier + number_literal) , number_literal )))) ;)) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" ( (cast_expression "(undefined *)((int)unaff_s8 + (int)unaff_s3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s8 + (int)unaff_s3" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" if (parenthesized_expression "(0 < *unaff_s6)" ( (binary_expression "0 < *unaff_s6" number_literal < (pointer_expression "*unaff_s6" * identifier)) )) (compound_statement "{\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);" do (compound_statement "{\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        }" { (if_statement "if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" if (parenthesized_expression "(*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16)" ( (binary_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" * (cast_expression "(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" ( (binary_expression "*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80" (pointer_expression "*(int *)(*(int *)puVar2 + iVar15 + 8)" * (cast_expression "(int *)(*(int *)puVar2 + iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar15 + 8)" ( (binary_expression "*(int *)puVar2 + iVar15 + 8" (binary_expression "*(int *)puVar2 + iVar15" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" { (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar28))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar28)" number_literal < (call_expression "(uint)(iVar29 + iVar28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar28)" ( (binary_expression "iVar29 + iVar28" identifier + identifier) )))) )) (compound_statement "{\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar28)" ( (binary_expression "(int)unaff_s8 + iVar28" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + 0x60;" (assignment_expression "iVar15 = iVar15 + 0x60" identifier = (binary_expression "iVar15 + 0x60" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" identifier = (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar23 < *unaff_s6)" ( (binary_expression "iVar23 < *unaff_s6" identifier < (pointer_expression "*unaff_s6" * identifier)) )) ;) })) (if_statement "if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" if (parenthesized_expression "(unaff_s4 != (int *)0x0)" ( (binary_expression "unaff_s4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" { (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (expression_statement "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;" (assignment_expression "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c" (pointer_expression "*(undefined1 *)((int)unaff_s8 + iVar15)" * (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;" (assignment_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0" (subscript_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1]" (parenthesized_expression "((undefined1 *)((int)unaff_s8 + iVar15))" ( (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )) [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" statement_identifier : (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;)) (if_statement "if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar15))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar15)" number_literal < (call_expression "(uint)(iVar29 + iVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar15)" ( (binary_expression "iVar29 + iVar15" identifier + identifier) )))) )) (compound_statement "{\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" if (parenthesized_expression "(0 < *unaff_s6)" ( (binary_expression "0 < *unaff_s6" number_literal < (pointer_expression "*unaff_s6" * identifier)) )) (compound_statement "{\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);" do (compound_statement "{\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          }" { (expression_statement "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);" (assignment_expression "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" * (cast_expression "(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (binary_expression "(int)unaff_s4 + *(int *)puVar2 + 0xc" (binary_expression "(int)unaff_s4 + *(int *)puVar2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" identifier = (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (if_statement "if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" if (parenthesized_expression "((int)piVar24 < 0)" ( (binary_expression "(int)piVar24 < 0" (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              iVar23 = *unaff_s6;\n            }" { (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) }) (else_clause "else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" else (compound_statement "{\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" { (do_statement "do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);" do (compound_statement "{\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              }" { (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (if_statement "if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" if (parenthesized_expression "(piVar24 == piVar16)" ( (binary_expression "piVar24 == piVar16" identifier == identifier) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar23))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar23)" number_literal < (call_expression "(uint)(iVar29 + iVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar23)" ( (binary_expression "iVar29 + iVar23" identifier + identifier) )))) )) (compound_statement "{\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar23)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar23)" ( (binary_expression "(int)unaff_s8 + iVar23" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" identifier = (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) }) while (parenthesized_expression "(-1 < (int)piVar24)" ( (binary_expression "-1 < (int)piVar24" number_literal < (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) }))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s4 + 0x18;" (assignment_expression "unaff_s4 = unaff_s4 + 0x18" identifier = (binary_expression "unaff_s4 + 0x18" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" identifier = (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar15 < iVar23)" ( (binary_expression "iVar15 < iVar23" identifier < identifier) )) ;) })) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  int iVar10;\n  sym_content *out;\n  char *pcVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined *puVar15;\n  int iVar16;\n  int *piVar17;\n  bitset_conflict pbVar18;\n  code *pcVar19;\n  item_number *piVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  _Bool _Var24;\n  int iVar25;\n  undefined4 *puVar26;\n  reductions *prVar27;\n  sym_content *psVar28;\n  reductions *prVar29;\n  uint *puVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  symbol **ppsVar34;\n  transitions *ptVar35;\n  errs *peVar36;\n  item_number *piVar37;\n  rule **unaff_s3;\n  state **unaff_s4;\n  uint *puVar38;\n  rule **pprVar39;\n  state *unaff_s6;\n  uint *puVar40;\n  uint *puVar41;\n  state **unaff_s8;\n  state **ppsVar42;\n  uniqstr pcVar43;\n  uint uVar44;\n  sym_content *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  state *local_b4;\n  sym_content *local_b0;\n  char buffer [90];\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  iVar10 = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output((FILE *)out);\n  pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print\n            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output((FILE *)out);\n  grammar_rules_print((FILE *)out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar32 = 0;\n    puVar13 = PTR_LAB_0008d628 + 0x4d80;\n    puVar14 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar15 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  prVar29 = *(reductions **)puVar6;\n  if (*(int *)puVar1 <= (int)prVar29) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = (state **)buffer;\n  local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80);\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = (sym_content *)PTR_LAB_0008d628;\n  unaff_s6 = (state *)PTR_nrules_0008d7c8;\n  do {\n    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);\n    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);\n    if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }\n    buffer[0] = '\0';\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);\n    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }\n    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;\n    while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }\n  } while( true );\n}\n\n" comment comment (function_definition "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  int iVar10;\n  sym_content *out;\n  char *pcVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined *puVar15;\n  int iVar16;\n  int *piVar17;\n  bitset_conflict pbVar18;\n  code *pcVar19;\n  item_number *piVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  _Bool _Var24;\n  int iVar25;\n  undefined4 *puVar26;\n  reductions *prVar27;\n  sym_content *psVar28;\n  reductions *prVar29;\n  uint *puVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  symbol **ppsVar34;\n  transitions *ptVar35;\n  errs *peVar36;\n  item_number *piVar37;\n  rule **unaff_s3;\n  state **unaff_s4;\n  uint *puVar38;\n  rule **pprVar39;\n  state *unaff_s6;\n  uint *puVar40;\n  uint *puVar41;\n  state **unaff_s8;\n  state **ppsVar42;\n  uniqstr pcVar43;\n  uint uVar44;\n  sym_content *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  state *local_b4;\n  sym_content *local_b0;\n  char buffer [90];\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  iVar10 = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output((FILE *)out);\n  pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print\n            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output((FILE *)out);\n  grammar_rules_print((FILE *)out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar32 = 0;\n    puVar13 = PTR_LAB_0008d628 + 0x4d80;\n    puVar14 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar15 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  prVar29 = *(reductions **)puVar6;\n  if (*(int *)puVar1 <= (int)prVar29) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = (state **)buffer;\n  local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80);\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = (sym_content *)PTR_LAB_0008d628;\n  unaff_s6 = (state *)PTR_nrules_0008d7c8;\n  do {\n    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);\n    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);\n    if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }\n    buffer[0] = '\0';\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);\n    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }\n    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;\n    while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "print_results(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined3 extraout_var;\n  undefined3 extraout_var_00;\n  int iVar10;\n  sym_content *out;\n  char *pcVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined *puVar15;\n  int iVar16;\n  int *piVar17;\n  bitset_conflict pbVar18;\n  code *pcVar19;\n  item_number *piVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  _Bool _Var24;\n  int iVar25;\n  undefined4 *puVar26;\n  reductions *prVar27;\n  sym_content *psVar28;\n  reductions *prVar29;\n  uint *puVar30;\n  int iVar31;\n  int iVar32;\n  uint uVar33;\n  symbol **ppsVar34;\n  transitions *ptVar35;\n  errs *peVar36;\n  item_number *piVar37;\n  rule **unaff_s3;\n  state **unaff_s4;\n  uint *puVar38;\n  rule **pprVar39;\n  state *unaff_s6;\n  uint *puVar40;\n  uint *puVar41;\n  state **unaff_s8;\n  state **ppsVar42;\n  uniqstr pcVar43;\n  uint uVar44;\n  sym_content *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  state *local_b4;\n  sym_content *local_b0;\n  char buffer [90];\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  iVar10 = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output((FILE *)out);\n  pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print\n            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output((FILE *)out);\n  grammar_rules_print((FILE *)out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar32 = 0;\n    puVar13 = PTR_LAB_0008d628 + 0x4d80;\n    puVar14 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar15 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out);\n  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);\n  prVar29 = *(reductions **)puVar6;\n  if (*(int *)puVar1 <= (int)prVar29) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = (state **)buffer;\n  local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80);\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = (sym_content *)PTR_LAB_0008d628;\n  unaff_s6 = (state *)PTR_nrules_0008d7c8;\n  do {\n    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);\n    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);\n    if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }\n    buffer[0] = '\0';\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);\n    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }\n    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;\n    while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "undefined3 extraout_var_00;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "sym_content *out;" type_identifier (pointer_declarator "*out" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "bitset_conflict pbVar18;" type_identifier identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "item_number *piVar20;" type_identifier (pointer_declarator "*piVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "_Bool _Var24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "reductions *prVar27;" type_identifier (pointer_declarator "*prVar27" * identifier) ;) (declaration "sym_content *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "reductions *prVar29;" type_identifier (pointer_declarator "*prVar29" * identifier) ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "symbol **ppsVar34;" type_identifier (pointer_declarator "**ppsVar34" * (pointer_declarator "*ppsVar34" * identifier)) ;) (declaration "transitions *ptVar35;" type_identifier (pointer_declarator "*ptVar35" * identifier) ;) (declaration "errs *peVar36;" type_identifier (pointer_declarator "*peVar36" * identifier) ;) (declaration "item_number *piVar37;" type_identifier (pointer_declarator "*piVar37" * identifier) ;) (declaration "rule **unaff_s3;" type_identifier (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier)) ;) (declaration "state **unaff_s4;" type_identifier (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier)) ;) (declaration "uint *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "rule **pprVar39;" type_identifier (pointer_declarator "**pprVar39" * (pointer_declarator "*pprVar39" * identifier)) ;) (declaration "state *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "uint *puVar41;" type_identifier (pointer_declarator "*puVar41" * identifier) ;) (declaration "state **unaff_s8;" type_identifier (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)) ;) (declaration "state **ppsVar42;" type_identifier (pointer_declarator "**ppsVar42" * (pointer_declarator "*ppsVar42" * identifier)) ;) (declaration "uniqstr pcVar43;" type_identifier identifier ;) (declaration "uint uVar44;" type_identifier identifier ;) (declaration "sym_content *local_dc;" type_identifier (pointer_declarator "*local_dc" * identifier) ;) (declaration "int *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "undefined *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "state *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "sym_content *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "char buffer [90];" primitive_type (array_declarator "buffer [90]" identifier [ number_literal ]) ;) (expression_statement "puVar9 = PTR___stack_chk_guard_0008df8c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_0008df8c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_LAB_0008d628;" (assignment_expression "puVar2 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)PTR___stack_chk_guard_0008df8c;" (assignment_expression "iVar10 = *(int *)PTR___stack_chk_guard_0008df8c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0008df8c" * (cast_expression "(int *)PTR___stack_chk_guard_0008df8c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);" (assignment_expression "out = (sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier = (cast_expression "(sym_content *)xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xfopen(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier (argument_list "(*(char **)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (pointer_expression "*(char **)PTR_spec_verbose_file_0008d8bc" * (cast_expression "(char **)PTR_spec_verbose_file_0008d8bc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "PTR_LAB_0008d628 + 0x4224" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_max_user_token_number_0008da2c;" (assignment_expression "puVar5 = PTR_max_user_token_number_0008da2c" identifier = identifier) ;) (expression_statement "reduce_output((FILE *)out);" (call_expression "reduce_output((FILE *)out)" identifier (argument_list "((FILE *)out)" ( (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);" (assignment_expression "pcVar11 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x7080,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7080" identifier + number_literal) , number_literal ))))) ;) (expression_statement "grammar_rules_partial_print\n            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64);" (call_expression "grammar_rules_partial_print\n            ((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64)" identifier (argument_list "((FILE *)out,pcVar11,(rule_filter)PTR_rule_useless_in_parser_p_0008db64)" ( (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(rule_filter)PTR_rule_useless_in_parser_p_0008db64" ( (type_descriptor "rule_filter" type_identifier) ) identifier) ))) ;) (expression_statement "conflicts_output((FILE *)out);" (call_expression "conflicts_output((FILE *)out)" identifier (argument_list "((FILE *)out)" ( (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "grammar_rules_print((FILE *)out);" (call_expression "grammar_rules_print((FILE *)out)" identifier (argument_list "((FILE *)out)" ( (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70ac,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70ac" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar2 + 0x37a8,uVar12)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar4 = PTR_undeftoken_0008da10;" (assignment_expression "puVar4 = PTR_undeftoken_0008da10" identifier = identifier) ;) (expression_statement "puVar1 = PTR_token_translations_0008d958;" (assignment_expression "puVar1 = PTR_token_translations_0008d958" identifier = identifier) ;) (expression_statement "puVar6 = PTR_DAT_0008d800;" (assignment_expression "puVar6 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (if_statement "if (-1 < *(int *)puVar5) {\n    iVar32 = 0;\n    puVar13 = PTR_LAB_0008d628 + 0x4d80;\n    puVar14 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar15 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);\n  }" if (parenthesized_expression "(-1 < *(int *)puVar5)" ( (binary_expression "-1 < *(int *)puVar5" number_literal < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar32 = 0;\n    puVar13 = PTR_LAB_0008d628 + 0x4d80;\n    puVar14 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar15 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);\n  }" { (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x4d80" identifier = (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal)) ;) (expression_statement "puVar14 = PTR_LAB_0008d628 + 0x7100;" (assignment_expression "puVar14 = PTR_LAB_0008d628 + 0x7100" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)PTR_LAB_0008d628;" (assignment_expression "local_c8 = (code *)PTR_LAB_0008d628" identifier = (cast_expression "(code *)PTR_LAB_0008d628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar15 = PTR_LAB_0008d628 + 0x176c;" (assignment_expression "puVar15 = PTR_LAB_0008d628 + 0x176c" identifier = (binary_expression "PTR_LAB_0008d628 + 0x176c" identifier + number_literal)) ;) (expression_statement "local_c0 = PTR_DAT_0008d800;" (assignment_expression "local_c0 = PTR_DAT_0008d800" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    } while (iVar32 <= *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }\n      iVar32 = iVar32 + 1;\n    }" { (while_statement "while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (state **)(iVar32 * 4);\n        local_dc = out;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        buffer[0] = '\0';\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);\n        iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n        if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar32 = iVar32 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);\n        if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;\n      }" { (expression_statement "puVar7 = PTR_symbols_0008d7a4;" (assignment_expression "puVar7 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "unaff_s4 = (state **)(iVar32 * 4);" (assignment_expression "unaff_s4 = (state **)(iVar32 * 4)" identifier = (cast_expression "(state **)(iVar32 * 4)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 * 4)" ( (binary_expression "iVar32 * 4" identifier * number_literal) )))) ;) (expression_statement "local_dc = out;" (assignment_expression "local_dc = out" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80))" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (pointer_expression "*(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" * (cast_expression "(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (binary_expression "*(int *)(*(int *)puVar4 + 0x28) + 0x80" (pointer_expression "*(int *)(*(int *)puVar4 + 0x28)" * (cast_expression "(int *)(*(int *)puVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + 0x28)" ( (binary_expression "*(int *)puVar4 + 0x28" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);" (assignment_expression "unaff_s3 = (rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" identifier = (cast_expression "(rule **)**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "**(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (pointer_expression "*(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (cast_expression "(undefined4 **)\n                              (*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (binary_expression "*(int *)PTR_symbols_0008d7a4 +\n                              *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)PTR_symbols_0008d7a4" * (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) ))))))) ;) (expression_statement "unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3);" (assignment_expression "unaff_s6 = (state *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" identifier = (cast_expression "(state *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,out)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,out)" ( identifier , identifier ))) ;) (expression_statement "iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);" (assignment_expression "iVar16 = (*(code *)PTR_strlen_0008def8)(buffer)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(buffer)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }" if (parenthesized_expression "(0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28))" ( (binary_expression "0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)" number_literal < (call_expression "(uint)((int)unaff_s6->items + iVar16 + -0x28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6->items + iVar16 + -0x28)" ( (binary_expression "(int)unaff_s6->items + iVar16 + -0x28" (binary_expression "(int)unaff_s6->items + iVar16" (cast_expression "(int)unaff_s6->items" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s6->items" identifier -> field_identifier)) + identifier) + number_literal) )))) )) (compound_statement "{\n          unaff_s6 = (state *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n          buffer[0] = '\0';\n        }" { (expression_statement "unaff_s6 = (state *)0x3;" (assignment_expression "unaff_s6 = (state *)0x3" identifier = (cast_expression "(state *)0x3" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar14,buffer)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (if_statement "if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" * (cast_expression "(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (binary_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28" (pointer_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" * (cast_expression "(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (binary_expression "*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);\n          unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);\n          iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);\n          if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }\n        }" { (expression_statement "iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0);" (assignment_expression "iVar16 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar6 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar6 + -0x4ae0)" ( identifier , number_literal , (binary_expression "puVar6 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28);" (assignment_expression "unaff_s6 = (state *)((int)unaff_s6->items + iVar16 + -0x28)" identifier = (cast_expression "(state *)((int)unaff_s6->items + iVar16 + -0x28)" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6->items + iVar16 + -0x28)" ( (binary_expression "(int)unaff_s6->items + iVar16 + -0x28" (binary_expression "(int)unaff_s6->items + iVar16" (cast_expression "(int)unaff_s6->items" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s6->items" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "iVar16 = (*(code *)PTR_strlen_0008def8)(buffer);" (assignment_expression "iVar16 = (*(code *)PTR_strlen_0008def8)(buffer)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(buffer)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)) {\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }" if (parenthesized_expression "(0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28))" ( (binary_expression "0x41 < (uint)((int)unaff_s6->items + iVar16 + -0x28)" number_literal < (call_expression "(uint)((int)unaff_s6->items + iVar16 + -0x28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6->items + iVar16 + -0x28)" ( (binary_expression "(int)unaff_s6->items + iVar16 + -0x28" (binary_expression "(int)unaff_s6->items + iVar16" (cast_expression "(int)unaff_s6->items" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s6->items" identifier -> field_identifier)) + identifier) + number_literal) )))) )) (compound_statement "{\n            unaff_s6 = (state *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n            buffer[0] = '\0';\n          }" { (expression_statement "unaff_s6 = (state *)0x3;" (assignment_expression "unaff_s6 = (state *)0x3" identifier = (cast_expression "(state *)0x3" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar14,buffer)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) })) (expression_statement "puVar8 = PTR_nrules_0008d7c8;" (assignment_expression "puVar8 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(buffer,1,0x5a,puVar3 + 0x7108,iVar32)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer,1,0x5a,puVar3 + 0x7108,iVar32)" ( identifier , number_literal , number_literal , (binary_expression "puVar3 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar7 = PTR_rules_0008d784;" (assignment_expression "puVar7 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *(int *)puVar8) {\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }" if (parenthesized_expression "(0 < *(int *)puVar8)" ( (binary_expression "0 < *(int *)puVar8" number_literal < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          unaff_s3 = (rule **)0x0;\n          iVar16 = 0;\nLAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);\n        }" { (expression_statement "unaff_s3 = (rule **)0x0;" (assignment_expression "unaff_s3 = (rule **)0x0" identifier = (cast_expression "(rule **)0x0" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0003b85c:\n          do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);" statement_identifier : (do_statement "do {\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar16 < *(int *)puVar8);" do (compound_statement "{\n            piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar25 = *piVar17;\n            unaff_s8 = (state **)puVar7;\n            if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          }" { (expression_statement "piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);" (assignment_expression "piVar17 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" identifier = (pointer_expression "*(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" * (cast_expression "(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (binary_expression "(int)unaff_s3 + *(int *)puVar7 + 0xc" (binary_expression "(int)unaff_s3 + *(int *)puVar7" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "iVar25 = *piVar17;" (assignment_expression "iVar25 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "unaff_s8 = (state **)puVar7;" (assignment_expression "unaff_s8 = (state **)puVar7" identifier = (cast_expression "(state **)puVar7" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (-1 < iVar25) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }" if (parenthesized_expression "(-1 < iVar25)" ( (binary_expression "-1 < iVar25" number_literal < identifier) )) (compound_statement "{\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);\n            }" { (do_statement "do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              } while (-1 < iVar25);" do (compound_statement "{\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar17 = piVar17 + 1;\n                iVar25 = *piVar17;\n              }" { (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25)" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar25" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == identifier) )) (compound_statement "{\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }\n                  iVar31 = iVar16 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar16 = iVar31;\n                  if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" { (expression_statement "iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);" (assignment_expression "iVar25 = (*(code *)PTR_strlen_0008def8)(buffer)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(buffer)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)) {\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }" if (parenthesized_expression "(0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28))" ( (binary_expression "0x41 < (uint)((int)unaff_s6->items + iVar25 + -0x28)" number_literal < (call_expression "(uint)((int)unaff_s6->items + iVar25 + -0x28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6->items + iVar25 + -0x28)" ( (binary_expression "(int)unaff_s6->items + iVar25 + -0x28" (binary_expression "(int)unaff_s6->items + iVar25" (cast_expression "(int)unaff_s6->items" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s6->items" identifier -> field_identifier)) + identifier) + number_literal) )))) )) (compound_statement "{\n                    unaff_s6 = (state *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);\n                  }" { (expression_statement "unaff_s6 = (state *)0x3;" (assignment_expression "unaff_s6 = (state *)0x3" identifier = (cast_expression "(state *)0x3" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,buffer)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar14,buffer)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar25 = (*(code *)PTR_strlen_0008def8)(buffer);" (assignment_expression "iVar25 = (*(code *)PTR_strlen_0008def8)(buffer)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(buffer)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer)" ( identifier )))) ;) })) (expression_statement "iVar31 = iVar16 + 1;" (assignment_expression "iVar31 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)\n                  ;" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(buffer + iVar25,1,0xffffffff,puVar13,iVar16)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer + iVar25,1,0xffffffff,puVar13,iVar16)" ( (binary_expression "buffer + iVar25" identifier + identifier) , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar31;" (assignment_expression "iVar16 = iVar31" identifier = identifier) ;) (if_statement "if (iVar31 < *(int *)puVar8) goto LAB_0003b85c;" if (parenthesized_expression "(iVar31 < *(int *)puVar8)" ( (binary_expression "iVar31 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003b85c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b8bc;" goto statement_identifier ;) })) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar25 = *piVar17;" (assignment_expression "iVar25 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) }) while (parenthesized_expression "(-1 < iVar25)" ( (binary_expression "-1 < iVar25" number_literal < identifier) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < *(int *)puVar8)" ( (binary_expression "iVar16 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;)) })) (labeled_statement "LAB_0003b8bc:\n        iVar32 = iVar32 + 1;" statement_identifier : (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar15,buffer)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar15,buffer)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)puVar5 < iVar32) goto LAB_0003b8ec;" if (parenthesized_expression "(*(int *)puVar5 < iVar32)" ( (binary_expression "*(int *)puVar5 < iVar32" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_0003b8ec;" goto statement_identifier ;)) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 <= *(int *)puVar5)" ( (binary_expression "iVar32 <= *(int *)puVar5" identifier <= (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;" statement_identifier : (expression_statement "puVar1 = PTR_nsyms_0008d7bc;" (assignment_expression "puVar1 = PTR_nsyms_0008d7bc" identifier = identifier) ;)) (expression_statement "puVar6 = PTR_ntokens_0008d77c;" (assignment_expression "puVar6 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_c4 = (int *)PTR_nsyms_0008d7bc;" (assignment_expression "local_c4 = (int *)PTR_nsyms_0008d7bc" identifier = (cast_expression "(int *)PTR_nsyms_0008d7bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,out)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x4938,1,2,out)" ( (binary_expression "PTR_LAB_0008d628 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70d4,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70d4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar2 + 0x37a8,uVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar2 + 0x37a8,uVar12)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "prVar29 = *(reductions **)puVar6;" (assignment_expression "prVar29 = *(reductions **)puVar6" identifier = (pointer_expression "*(reductions **)puVar6" * (cast_expression "(reductions **)puVar6" ( (type_descriptor "reductions **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)puVar1 <= (int)prVar29) goto LAB_0003bb54;" if (parenthesized_expression "(*(int *)puVar1 <= (int)prVar29)" ( (binary_expression "*(int *)puVar1 <= (int)prVar29" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)prVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bb54;" goto statement_identifier ;)) (expression_statement "local_d8 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "local_d8 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = (state **)buffer;" (assignment_expression "unaff_s8 = (state **)buffer" identifier = (cast_expression "(state **)buffer" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c);" (assignment_expression "local_b4 = (state *)(PTR_LAB_0008d628 + 0x711c)" identifier = (cast_expression "(state *)(PTR_LAB_0008d628 + 0x711c)" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x711c)" ( (binary_expression "PTR_LAB_0008d628 + 0x711c" identifier + number_literal) )))) ;) (expression_statement "local_c0 = PTR_LAB_0008d628;" (assignment_expression "local_c0 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80);" (assignment_expression "local_dc = (sym_content *)(PTR_LAB_0008d628 + 0x4d80)" identifier = (cast_expression "(sym_content *)(PTR_LAB_0008d628 + 0x4d80)" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x4d80)" ( (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal) )))) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100)" identifier = (cast_expression "(code *)(PTR_LAB_0008d628 + 0x7100)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7100)" ( (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_b8 = PTR_DAT_0008d800;" (assignment_expression "local_b8 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "local_b0 = (sym_content *)PTR_LAB_0008d628;" (assignment_expression "local_b0 = (sym_content *)PTR_LAB_0008d628" identifier = (cast_expression "(sym_content *)PTR_LAB_0008d628" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s6 = (state *)PTR_nrules_0008d7c8;" (assignment_expression "unaff_s6 = (state *)PTR_nrules_0008d7c8" identifier = (cast_expression "(state *)PTR_nrules_0008d7c8" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);\n    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);\n    if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }\n    buffer[0] = '\0';\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);\n    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }\n    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;\n    while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }\n  } while( true );" do (compound_statement "{\n    uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);\n    iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);\n    if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }\n    buffer[0] = '\0';\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);\n    unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }\n    if (unaff_s4 != (state **)0x0) goto LAB_0003c910;\n    while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }\n  }" { (expression_statement "uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4);" (assignment_expression "uVar12 = **(undefined4 **)(*local_d8 + (int)prVar29 * 4)" identifier = (pointer_expression "**(undefined4 **)(*local_d8 + (int)prVar29 * 4)" * (pointer_expression "*(undefined4 **)(*local_d8 + (int)prVar29 * 4)" * (cast_expression "(undefined4 **)(*local_d8 + (int)prVar29 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_d8 + (int)prVar29 * 4)" ( (binary_expression "*local_d8 + (int)prVar29 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)prVar29 * 4" (cast_expression "(int)prVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12);" (assignment_expression "iVar32 = (*(code *)PTR_strlen_0008def8)(uVar12)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar12)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (unaff_s6->number < 1) {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }\n    else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }" if (parenthesized_expression "(unaff_s6->number < 1)" ( (binary_expression "unaff_s6->number < 1" (field_expression "unaff_s6->number" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n    }" { (expression_statement "unaff_s4 = (state **)0x0;" (assignment_expression "unaff_s4 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }" else (compound_statement "{\n      unaff_s4 = (state **)0x0;\n      iVar16 = 0;\n      iVar25 = *(int *)PTR_rules_0008d784;\n      iVar31 = unaff_s6->number * 0x60 + iVar25;\n      do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);\n    }" { (expression_statement "unaff_s4 = (state **)0x0;" (assignment_expression "unaff_s4 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = *(int *)PTR_rules_0008d784;" (assignment_expression "iVar25 = *(int *)PTR_rules_0008d784" identifier = (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar31 = unaff_s6->number * 0x60 + iVar25;" (assignment_expression "iVar31 = unaff_s6->number * 0x60 + iVar25" identifier = (binary_expression "unaff_s6->number * 0x60 + iVar25" (binary_expression "unaff_s6->number * 0x60" (field_expression "unaff_s6->number" identifier -> field_identifier) * number_literal) + identifier)) ;) (do_statement "do {\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      } while (iVar31 != iVar25);" do (compound_statement "{\n        if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }\n        piVar17 = *(int **)(iVar25 + 0xc);\n        prVar27 = (reductions *)*piVar17;\n        while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }\n        iVar25 = iVar25 + 0x60;\n      }" { (if_statement "if (*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29) {\n          iVar16 = iVar16 + 1;\n        }" if (parenthesized_expression "(*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29)" ( (binary_expression "*(reductions **)(*(int *)(iVar25 + 8) + 0x80) == prVar29" (pointer_expression "*(reductions **)(*(int *)(iVar25 + 8) + 0x80)" * (cast_expression "(reductions **)(*(int *)(iVar25 + 8) + 0x80)" ( (type_descriptor "reductions **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar25 + 8) + 0x80)" ( (binary_expression "*(int *)(iVar25 + 8) + 0x80" (pointer_expression "*(int *)(iVar25 + 8)" * (cast_expression "(int *)(iVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 8)" ( (binary_expression "iVar25 + 8" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar16 = iVar16 + 1;\n        }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar17 = *(int **)(iVar25 + 0xc);" (assignment_expression "piVar17 = *(int **)(iVar25 + 0xc)" identifier = (pointer_expression "*(int **)(iVar25 + 0xc)" * (cast_expression "(int **)(iVar25 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + 0xc)" ( (binary_expression "iVar25 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "prVar27 = (reductions *)*piVar17;" (assignment_expression "prVar27 = (reductions *)*piVar17" identifier = (cast_expression "(reductions *)*piVar17" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (while_statement "while (-1 < (int)prVar27) {\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }" while (parenthesized_expression "(-1 < (int)prVar27)" ( (binary_expression "-1 < (int)prVar27" number_literal < (cast_expression "(int)prVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          piVar17 = piVar17 + 1;\n          if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }\n          prVar27 = (reductions *)*piVar17;\n        }" { (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (if_statement "if (prVar27 == prVar29) {\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }" if (parenthesized_expression "(prVar27 == prVar29)" ( (binary_expression "prVar27 == prVar29" identifier == identifier) )) (compound_statement "{\n            unaff_s4 = (state **)((int)unaff_s4 + 1);\n            break;\n          }" { (expression_statement "unaff_s4 = (state **)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (state **)((int)unaff_s4 + 1)" identifier = (cast_expression "(state **)((int)unaff_s4 + 1)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (break_statement "break;" break ;) })) (expression_statement "prVar27 = (reductions *)*piVar17;" (assignment_expression "prVar27 = (reductions *)*piVar17" identifier = (cast_expression "(reductions *)*piVar17" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) })) (expression_statement "iVar25 = iVar25 + 0x60;" (assignment_expression "iVar25 = iVar25 + 0x60" identifier = (binary_expression "iVar25 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar31 != iVar25)" ( (binary_expression "iVar31 != iVar25" identifier != identifier) )) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,out)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0) {\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28)" * (cast_expression "(int *)(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28)" ( (binary_expression "*(int *)(*local_d8 + (int)prVar29 * 4) + 0x28" (pointer_expression "*(int *)(*local_d8 + (int)prVar29 * 4)" * (cast_expression "(int *)(*local_d8 + (int)prVar29 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_d8 + (int)prVar29 * 4)" ( (binary_expression "*local_d8 + (int)prVar29 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)prVar29 * 4" (cast_expression "(int)prVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);\n      iVar32 = iVar32 + iVar25;\n    }" { (expression_statement "iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0);" (assignment_expression "iVar25 = (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_b8 + -0x4ae0)" ( identifier , number_literal , (binary_expression "local_b8 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "iVar32 = iVar32 + iVar25;" (assignment_expression "iVar32 = iVar32 + iVar25" identifier = (binary_expression "iVar32 + iVar25" identifier + identifier)) ;) })) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,1,0x5a,local_c0 + 0x7108,prVar29)" ( identifier , number_literal , number_literal , (binary_expression "local_c0 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((int)unaff_s3 + iVar32 == 0) {\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }" if (parenthesized_expression "((int)unaff_s3 + iVar32 == 0)" ( (binary_expression "(int)unaff_s3 + iVar32 == 0" (binary_expression "(int)unaff_s3 + iVar32" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) == number_literal) )) (compound_statement "{\n      if (iVar16 != 0) goto LAB_0003ca94;\n    }" { (if_statement "if (iVar16 != 0) goto LAB_0003ca94;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003ca94;" goto statement_identifier ;)) }) (else_clause "else {\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }" else (compound_statement "{\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n      buffer[0] = '\0';\n      if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar32 = 3;\n    }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar16 != 0) {\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n        buffer[0] = '\0';\n        unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" { (expression_statement "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42) goto LAB_0003ca90;" if (parenthesized_expression "((undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42)" ( (binary_expression "(undefined1 *)((int)unaff_s3 + 3U) < (undefined1 *)0x42" (cast_expression "(undefined1 *)((int)unaff_s3 + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 3U)" ( (binary_expression "(int)unaff_s3 + 3U" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0x42" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(rule **)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;) })) (expression_statement "iVar32 = 3;" (assignment_expression "iVar32 = 3" identifier = number_literal) ;) }))) (if_statement "if (unaff_s4 != (state **)0x0) goto LAB_0003c910;" if (parenthesized_expression "(unaff_s4 != (state **)0x0)" ( (binary_expression "unaff_s4 != (state **)0x0" identifier != (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0003c910;" goto statement_identifier ;)) (while_statement "while( true ) {\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      prVar29 = (reductions *)((int)&prVar29->num + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);\n      if ((int)prVar29 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;\n      pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);\n      iVar32 = *(int *)puVar5;\n      *(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;\n      puVar13 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      prVar29 = (reductions *)puVar5;\n      if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(pbVar18);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose((FILE *)out);\n      if (iVar10 == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar32 = 3;\nLAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);\n      if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }\n      if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }\n    }" { (expression_statement "prVar29 = (reductions *)((int)&prVar29->num + 1);" (assignment_expression "prVar29 = (reductions *)((int)&prVar29->num + 1)" identifier = (cast_expression "(reductions *)((int)&prVar29->num + 1)" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&prVar29->num + 1)" ( (binary_expression "(int)&prVar29->num + 1" (cast_expression "(int)&prVar29->num" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&prVar29->num" & (field_expression "prVar29->num" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_bc + 0x176c,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_bc + 0x176c,unaff_s8)" ( identifier , number_literal , (binary_expression "local_bc + 0x176c" identifier + number_literal) , identifier ))) ;) (if_statement "if ((int)prVar29 < *local_c4) break;" if (parenthesized_expression "((int)prVar29 < *local_c4)" ( (binary_expression "(int)prVar29 < *local_c4" (cast_expression "(int)prVar29" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*local_c4" * identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;" statement_identifier : (expression_statement "puVar2 = PTR_report_flag_0008d71c;" (assignment_expression "puVar2 = PTR_report_flag_0008d71c" identifier = identifier) ;)) (expression_statement "local_c4 = (int *)PTR_report_flag_0008d71c;" (assignment_expression "local_c4 = (int *)PTR_report_flag_0008d71c" identifier = (cast_expression "(int *)PTR_report_flag_0008d71c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" if (parenthesized_expression "((*(uint *)PTR_report_flag_0008d71c & 2) != 0)" ( (binary_expression "(*(uint *)PTR_report_flag_0008d71c & 2) != 0" (parenthesized_expression "(*(uint *)PTR_report_flag_0008d71c & 2)" ( (binary_expression "*(uint *)PTR_report_flag_0008d71c & 2" (pointer_expression "*(uint *)PTR_report_flag_0008d71c" * (cast_expression "(uint *)PTR_report_flag_0008d71c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" { (expression_statement "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);" (call_expression "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0)" (parenthesized_expression "(*(code *)PTR_new_closure_0008d7d4)" ( (pointer_expression "*(code *)PTR_new_closure_0008d7d4" * (cast_expression "(code *)PTR_new_closure_0008d7d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_nritems_0008d7d0)" ( (pointer_expression "*(undefined4 *)PTR_nritems_0008d7d0" * (cast_expression "(undefined4 *)PTR_nritems_0008d7d0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "puVar5 = PTR_nstates_0008d698;" (assignment_expression "puVar5 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;" (assignment_expression "puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618" identifier = identifier) ;) (expression_statement "local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;" (assignment_expression "local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618" identifier = (cast_expression "(int *)PTR_saved_sigactions_28__sa_resv_0__0008d618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1);" (assignment_expression "pbVar18 = bitset_create(*(bitset_bindex *)puVar6,1)" identifier = (call_expression "bitset_create(*(bitset_bindex *)puVar6,1)" identifier (argument_list "(*(bitset_bindex *)puVar6,1)" ( (pointer_expression "*(bitset_bindex *)puVar6" * (cast_expression "(bitset_bindex *)puVar6" ( (type_descriptor "bitset_bindex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (expression_statement "iVar32 = *(int *)puVar5;" (assignment_expression "iVar32 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18;" (assignment_expression "*(bitset_conflict *)(puVar1 + -0x1cf0) = pbVar18" (pointer_expression "*(bitset_conflict *)(puVar1 + -0x1cf0)" * (cast_expression "(bitset_conflict *)(puVar1 + -0x1cf0)" ( (type_descriptor "bitset_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar13 = PTR_states_0008d7f8;" (assignment_expression "puVar13 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_LAB_0008d628;" (assignment_expression "puVar4 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "prVar29 = (reductions *)puVar5;" (assignment_expression "prVar29 = (reductions *)puVar5" identifier = (cast_expression "(reductions *)puVar5" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar32) {\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }" if (parenthesized_expression "(0 < iVar32)" ( (binary_expression "0 < iVar32" number_literal < identifier) )) (compound_statement "{\n        local_c0 = (undefined *)0x0;\n        pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);\n      }" { (expression_statement "local_c0 = (undefined *)0x0;" (assignment_expression "local_c0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_0008db4c + -0x4cdc)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4cdc)" ( (binary_expression "PTR_LAB_0008db4c + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_DAT_0008d800 + -0x4654;" (assignment_expression "local_bc = PTR_DAT_0008d800 + -0x4654" identifier = (binary_expression "PTR_DAT_0008d800 + -0x4654" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4f10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4f10)" ( (binary_expression "PTR_LAB_0008db4c + -0x4f10" identifier + number_literal) )))) ;) (do_statement "do {\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);" do (compound_statement "{\n          unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);\n          uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);\n          pcVar11 = (out->type_location).end.file;\n          if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }\n          piVar37 = unaff_s6->items;\n          ppsVar42 = (state **)unaff_s6->nitems;\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = ppsVar42;\n          if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }\n          (*pcVar19)(unaff_s6->transitions,out,1);\n          peVar36 = unaff_s6->errs;\n          piVar17 = (int *)peVar36->num;\n          if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }\nLAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;\n          if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }\n          (*pcVar19)(ptVar35,out,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }\n          local_c0 = local_c0 + 1;\n        }" { (expression_statement "unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4);" (assignment_expression "unaff_s6 = *(state **)(*(int *)puVar13 + (int)local_c0 * 4)" identifier = (pointer_expression "*(state **)(*(int *)puVar13 + (int)local_c0 * 4)" * (cast_expression "(state **)(*(int *)puVar13 + (int)local_c0 * 4)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + (int)local_c0 * 4)" ( (binary_expression "*(int *)puVar13 + (int)local_c0 * 4" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)local_c0 * 4" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,out)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + 0x4938,1,2,out)" ( (binary_expression "puVar3 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4 + 0x7128,5)" ( number_literal , (binary_expression "puVar4 + 0x7128" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,uVar12,unaff_s6->number)" ( identifier , number_literal , identifier , (field_expression "unaff_s6->number" identifier -> field_identifier) ))) ;) (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n            (out->type_location).end.file = pcVar11 + 1;\n            *pcVar11 = '\n';\n          }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }" else (compound_statement "{\n            (*(code *)PTR___overflow_0008de84)(out,10);\n          }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "piVar37 = unaff_s6->items;" (assignment_expression "piVar37 = unaff_s6->items" identifier = (field_expression "unaff_s6->items" identifier -> field_identifier)) ;) (expression_statement "ppsVar42 = (state **)unaff_s6->nitems;" (assignment_expression "ppsVar42 = (state **)unaff_s6->nitems" identifier = (cast_expression "(state **)unaff_s6->nitems" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "unaff_s6->nitems" identifier -> field_identifier))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);\n            piVar37 = *(item_number **)PTR_itemset_0008d7e4;\n            ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;\n          }" { (expression_statement "(*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42);" (call_expression "(*(code *)PTR_closure_0008d7dc)(piVar37,ppsVar42)" (parenthesized_expression "(*(code *)PTR_closure_0008d7dc)" ( (pointer_expression "*(code *)PTR_closure_0008d7dc" * (cast_expression "(code *)PTR_closure_0008d7dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar37,ppsVar42)" ( identifier , identifier ))) ;) (expression_statement "piVar37 = *(item_number **)PTR_itemset_0008d7e4;" (assignment_expression "piVar37 = *(item_number **)PTR_itemset_0008d7e4" identifier = (pointer_expression "*(item_number **)PTR_itemset_0008d7e4" * (cast_expression "(item_number **)PTR_itemset_0008d7e4" ( (type_descriptor "item_number **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "ppsVar42 = *(state ***)PTR_nitemset_0008d7d8;" (assignment_expression "ppsVar42 = *(state ***)PTR_nitemset_0008d7d8" identifier = (pointer_expression "*(state ***)PTR_nitemset_0008d7d8" * (cast_expression "(state ***)PTR_nitemset_0008d7d8" ( (type_descriptor "state ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) })) (expression_statement "unaff_s8 = ppsVar42;" (assignment_expression "unaff_s8 = ppsVar42" identifier = identifier) ;) (if_statement "if (ppsVar42 != (state **)0x0) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }" if (parenthesized_expression "(ppsVar42 != (state **)0x0)" ( (binary_expression "ppsVar42 != (state **)0x0" identifier != (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            unaff_s4 = (state **)PTR_symbols_0008d7a4;\n            unaff_s3 = (rule **)PTR_rules_0008d784;\n            unaff_s8 = (state **)PTR_ritem_0008d780;\n            piVar20 = piVar37 + (int)ppsVar42;\n            local_dc = (sym_content *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);\n          }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = (state **)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (state **)PTR_symbols_0008d7a4" identifier = (cast_expression "(state **)PTR_symbols_0008d7a4" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "unaff_s3 = (rule **)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (rule **)PTR_rules_0008d784" identifier = (cast_expression "(rule **)PTR_rules_0008d784" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "unaff_s8 = (state **)PTR_ritem_0008d780;" (assignment_expression "unaff_s8 = (state **)PTR_ritem_0008d780" identifier = (cast_expression "(state **)PTR_ritem_0008d780" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar20 = piVar37 + (int)ppsVar42;" (assignment_expression "piVar20 = piVar37 + (int)ppsVar42" identifier = (binary_expression "piVar37 + (int)ppsVar42" identifier + (cast_expression "(int)ppsVar42" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_dc = (sym_content *)0x0;" (assignment_expression "local_dc = (sym_content *)0x0" identifier = (cast_expression "(sym_content *)0x0" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b8 = PTR_LAB_0008d628 + 0x7138;" (assignment_expression "local_b8 = PTR_LAB_0008d628 + 0x7138" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7138" identifier + number_literal)) ;) (do_statement "do {\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            } while (piVar20 != piVar37);" do (compound_statement "{\n              puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);\n              uVar33 = *puVar30;\n              puVar38 = puVar30;\n              while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }\n              iVar32 = ~uVar33 * 0x60;\n              rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);\n              puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);\n              local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);\n              puVar40 = puVar38;\n              if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);\n              if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              piVar37 = piVar37 + 1;\n            }" { (expression_statement "puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4);" (assignment_expression "puVar30 = (uint *)((int)*unaff_s8 + *piVar37 * 4)" identifier = (cast_expression "(uint *)((int)*unaff_s8 + *piVar37 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s8 + *piVar37 * 4)" ( (binary_expression "(int)*unaff_s8 + *piVar37 * 4" (cast_expression "(int)*unaff_s8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s8" * identifier)) + (binary_expression "*piVar37 * 4" (pointer_expression "*piVar37" * identifier) * number_literal)) )))) ;) (expression_statement "uVar33 = *puVar30;" (assignment_expression "uVar33 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "puVar38 = puVar30;" (assignment_expression "puVar38 = puVar30" identifier = identifier) ;) (while_statement "while (-1 < (int)uVar33) {\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }" while (parenthesized_expression "(-1 < (int)uVar33)" ( (binary_expression "-1 < (int)uVar33" number_literal < (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar38 = puVar38 + 1;\n                uVar33 = *puVar38;\n              }" { (expression_statement "puVar38 = puVar38 + 1;" (assignment_expression "puVar38 = puVar38 + 1" identifier = (binary_expression "puVar38 + 1" identifier + number_literal)) ;) (expression_statement "uVar33 = *puVar38;" (assignment_expression "uVar33 = *puVar38" identifier = (pointer_expression "*puVar38" * identifier)) ;) })) (expression_statement "iVar32 = ~uVar33 * 0x60;" (assignment_expression "iVar32 = ~uVar33 * 0x60" identifier = (binary_expression "~uVar33 * 0x60" (unary_expression "~uVar33" ~ identifier) * number_literal)) ;) (expression_statement "rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out);" (call_expression "rule_lhs_print((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out)" identifier (argument_list "((rule *)((int)*unaff_s3 + iVar32),local_dc,(FILE *)out)" ( (cast_expression "(rule *)((int)*unaff_s3 + iVar32)" ( (type_descriptor "rule *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s3 + iVar32)" ( (binary_expression "(int)*unaff_s3 + iVar32" (cast_expression "(int)*unaff_s3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s3" * identifier)) + identifier) ))) , identifier , (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc);" (assignment_expression "puVar38 = *(uint **)((int)*unaff_s3 + iVar32 + 0xc)" identifier = (pointer_expression "*(uint **)((int)*unaff_s3 + iVar32 + 0xc)" * (cast_expression "(uint **)((int)*unaff_s3 + iVar32 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s3 + iVar32 + 0xc)" ( (binary_expression "(int)*unaff_s3 + iVar32 + 0xc" (binary_expression "(int)*unaff_s3 + iVar32" (cast_expression "(int)*unaff_s3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s3" * identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8);" (assignment_expression "local_dc = *(sym_content **)((int)*unaff_s3 + iVar32 + 8)" identifier = (pointer_expression "*(sym_content **)((int)*unaff_s3 + iVar32 + 8)" * (cast_expression "(sym_content **)((int)*unaff_s3 + iVar32 + 8)" ( (type_descriptor "sym_content **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s3 + iVar32 + 8)" ( (binary_expression "(int)*unaff_s3 + iVar32 + 8" (binary_expression "(int)*unaff_s3 + iVar32" (cast_expression "(int)*unaff_s3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s3" * identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "puVar40 = puVar38;" (assignment_expression "puVar40 = puVar38" identifier = identifier) ;) (if_statement "if (puVar38 < puVar30) {\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }" if (parenthesized_expression "(puVar38 < puVar30)" ( (binary_expression "puVar38 < puVar30" identifier < identifier) )) (compound_statement "{\n                do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);\n                puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;\n              }" { (do_statement "do {\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                } while (puVar41 < puVar30);" do (compound_statement "{\n                  puVar41 = puVar40 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));\n                  puVar40 = puVar41;\n                }" { (expression_statement "puVar41 = puVar40 + 1;" (assignment_expression "puVar41 = puVar40 + 1" identifier = (binary_expression "puVar40 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)((int)*unaff_s4 + *puVar40 * 4)" * (pointer_expression "*(undefined4 **)((int)*unaff_s4 + *puVar40 * 4)" * (cast_expression "(undefined4 **)((int)*unaff_s4 + *puVar40 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s4 + *puVar40 * 4)" ( (binary_expression "(int)*unaff_s4 + *puVar40 * 4" (cast_expression "(int)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)) + (binary_expression "*puVar40 * 4" (pointer_expression "*puVar40" * identifier) * number_literal)) ))))) ))) ;) (expression_statement "puVar40 = puVar41;" (assignment_expression "puVar40 = puVar41" identifier = identifier) ;) }) while (parenthesized_expression "(puVar41 < puVar30)" ( (binary_expression "puVar41 < puVar30" identifier < identifier) )) ;) (expression_statement "puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1;" (assignment_expression "puVar38 = puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1" identifier = (binary_expression "puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2) + 1" (binary_expression "puVar38 + ((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2)" identifier + (parenthesized_expression "((uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2)" ( (binary_expression "(uint)((int)puVar30 + (-1 - (int)puVar38)) >> 2" (call_expression "(uint)((int)puVar30 + (-1 - (int)puVar38))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar30 + (-1 - (int)puVar38))" ( (binary_expression "(int)puVar30 + (-1 - (int)puVar38)" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-1 - (int)puVar38)" ( (binary_expression "-1 - (int)puVar38" number_literal - (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) ))) + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,out)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4 + 0x7134,1,2,out)" ( (binary_expression "puVar4 + 0x7134" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }\n              else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }" if (parenthesized_expression "(**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0)" ( (binary_expression "**(int **)((int)*unaff_s3 + iVar32 + 0xc) < 0" (pointer_expression "**(int **)((int)*unaff_s3 + iVar32 + 0xc)" * (pointer_expression "*(int **)((int)*unaff_s3 + iVar32 + 0xc)" * (cast_expression "(int **)((int)*unaff_s3 + iVar32 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s3 + iVar32 + 0xc)" ( (binary_expression "(int)*unaff_s3 + iVar32 + 0xc" (binary_expression "(int)*unaff_s3 + iVar32" (cast_expression "(int)*unaff_s3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s3" * identifier)) + identifier) + number_literal) ))))) < number_literal) )) (compound_statement "{\n                (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);\n              }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_b8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_b8)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }" else (compound_statement "{\n                uVar33 = *puVar38;\n                while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }\n              }" { (expression_statement "uVar33 = *puVar38;" (assignment_expression "uVar33 = *puVar38" identifier = (pointer_expression "*puVar38" * identifier)) ;) (while_statement "while (-1 < (int)uVar33) {\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }" while (parenthesized_expression "(-1 < (int)uVar33)" ( (binary_expression "-1 < (int)uVar33" number_literal < (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  puVar38 = puVar38 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));\n                  uVar33 = *puVar38;\n                }" { (expression_statement "puVar38 = puVar38 + 1;" (assignment_expression "puVar38 = puVar38 + 1" identifier = (binary_expression "puVar38 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_bc,**(undefined4 **)((int)*unaff_s4 + uVar33 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)((int)*unaff_s4 + uVar33 * 4)" * (pointer_expression "*(undefined4 **)((int)*unaff_s4 + uVar33 * 4)" * (cast_expression "(undefined4 **)((int)*unaff_s4 + uVar33 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s4 + uVar33 * 4)" ( (binary_expression "(int)*unaff_s4 + uVar33 * 4" (cast_expression "(int)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)) + (binary_expression "uVar33 * 4" identifier * number_literal)) ))))) ))) ;) (expression_statement "uVar33 = *puVar38;" (assignment_expression "uVar33 = *puVar38" identifier = (pointer_expression "*puVar38" * identifier)) ;) })) }))) (if_statement "if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }" if (parenthesized_expression "(((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30))" ( (binary_expression "((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar30)" (parenthesized_expression "((*(uint *)puVar2 & 4) == 0)" ( (binary_expression "(*(uint *)puVar2 & 4) == 0" (parenthesized_expression "(*(uint *)puVar2 & 4)" ( (binary_expression "*(uint *)puVar2 & 4" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) || (parenthesized_expression "(-1 < (int)*puVar30)" ( (binary_expression "-1 < (int)*puVar30" number_literal < (cast_expression "(int)*puVar30" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar30" * identifier))) ))) )) (compound_statement "{\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) goto LAB_0003be58;" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (goto_statement "goto LAB_0003be58;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(out,10);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;)) }) (else_clause "else {\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }" else (compound_statement "{\n                state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);\n                pcVar11 = (out->type_location).end.file;\n                if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;\nLAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }" { (expression_statement "state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out);" (call_expression "state_rule_lookahead_tokens_print\n                          (unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out)" identifier (argument_list "(unaff_s6,(rule *)((int)*unaff_s3 + iVar32),(FILE *)out)" ( identifier , (cast_expression "(rule *)((int)*unaff_s3 + iVar32)" ( (type_descriptor "rule *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*unaff_s3 + iVar32)" ( (binary_expression "(int)*unaff_s3 + iVar32" (cast_expression "(int)*unaff_s3" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s3" * identifier)) + identifier) ))) , (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((char *)(out->type_location).end.line <= pcVar11) goto LAB_0003c60c;" if (parenthesized_expression "((char *)(out->type_location).end.line <= pcVar11)" ( (binary_expression "(char *)(out->type_location).end.line <= pcVar11" (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) <= identifier) )) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;)) (labeled_statement "LAB_0003be58:\n                (out->type_location).end.file = pcVar11 + 1;" statement_identifier : (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;)) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }))) (expression_statement "piVar37 = piVar37 + 1;" (assignment_expression "piVar37 = piVar37 + 1" identifier = (binary_expression "piVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar20 != piVar37)" ( (binary_expression "piVar20 != piVar37" identifier != identifier) )) ;) })) (expression_statement "(*pcVar19)(unaff_s6->transitions,out,1);" (call_expression "(*pcVar19)(unaff_s6->transitions,out,1)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(unaff_s6->transitions,out,1)" ( (field_expression "unaff_s6->transitions" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "peVar36 = unaff_s6->errs;" (assignment_expression "peVar36 = unaff_s6->errs" identifier = (field_expression "unaff_s6->errs" identifier -> field_identifier)) ;) (expression_statement "piVar17 = (int *)peVar36->num;" (assignment_expression "piVar17 = (int *)peVar36->num" identifier = (cast_expression "(int *)peVar36->num" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "peVar36->num" identifier -> field_identifier))) ;) (if_statement "if (0 < (int)piVar17) {\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }" if (parenthesized_expression "(0 < (int)piVar17)" ( (binary_expression "0 < (int)piVar17" number_literal < (cast_expression "(int)piVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            ppsVar34 = peVar36->symbols;\n            uVar33 = 0;\n            unaff_s4 = (state **)0x0;\n            unaff_s3 = (rule **)ppsVar34;\n            do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);\n            if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }\n          }" { (expression_statement "ppsVar34 = peVar36->symbols;" (assignment_expression "ppsVar34 = peVar36->symbols" identifier = (field_expression "peVar36->symbols" identifier -> field_identifier)) ;) (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (state **)0x0;" (assignment_expression "unaff_s4 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "unaff_s3 = (rule **)ppsVar34;" (assignment_expression "unaff_s3 = (rule **)ppsVar34" identifier = (cast_expression "(rule **)ppsVar34" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (do_statement "do {\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != (state **)piVar17);" do (compound_statement "{\n              if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }\n              unaff_s4 = (state **)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            }" { (if_statement "if ((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)) {\n                uVar33 = uVar21;\n              }" if (parenthesized_expression "((*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21))" ( (binary_expression "(*unaff_s3 != (rule *)0x0) &&\n                 (uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)" (parenthesized_expression "(*unaff_s3 != (rule *)0x0)" ( (binary_expression "*unaff_s3 != (rule *)0x0" (pointer_expression "*unaff_s3" * identifier) != (cast_expression "(rule *)0x0" ( (type_descriptor "rule *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21)" ( (comma_expression "uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number),\n                 uVar33 < uVar21" (assignment_expression "uVar21 = (*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)((uniqstr)(*unaff_s3)->user_number)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((uniqstr)(*unaff_s3)->user_number)" ( (field_expression "(uniqstr)(*unaff_s3)->user_number" (call_expression "(uniqstr)(*unaff_s3)" (parenthesized_expression "(uniqstr)" ( identifier )) (argument_list "(*unaff_s3)" ( (pointer_expression "*unaff_s3" * identifier) ))) -> field_identifier) )))) , (binary_expression "uVar33 < uVar21" identifier < identifier)) ))) )) (compound_statement "{\n                uVar33 = uVar21;\n              }" { (expression_statement "uVar33 = uVar21;" (assignment_expression "uVar33 = uVar21" identifier = identifier) ;) })) (expression_statement "unaff_s4 = (state **)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (state **)((int)unaff_s4 + 1)" identifier = (cast_expression "(state **)((int)unaff_s4 + 1)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s4 != (state **)piVar17)" ( (binary_expression "unaff_s4 != (state **)piVar17" identifier != (cast_expression "(state **)piVar17" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) ;) (if_statement "if (uVar33 != 0) {\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }" if (parenthesized_expression "(uVar33 != 0)" ( (binary_expression "uVar33 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar11 = (out->type_location).end.file;\n              if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }\n              iVar32 = peVar36->num;\n              if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }\n            }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n                (out->type_location).end.file = pcVar11 + 1;\n                *pcVar11 = '\n';\n              }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }" else (compound_statement "{\n                (*(code *)PTR___overflow_0008de84)(out,10);\n              }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "iVar32 = peVar36->num;" (assignment_expression "iVar32 = peVar36->num" identifier = (field_expression "peVar36->num" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar32) {\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }" if (parenthesized_expression "(0 < iVar32)" ( (binary_expression "0 < iVar32" number_literal < identifier) )) (compound_statement "{\n                unaff_s3 = (rule **)0x0;\n                puVar14 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);\n              }" { (expression_statement "unaff_s3 = (rule **)0x0;" (assignment_expression "unaff_s3 = (rule **)0x0" identifier = (cast_expression "(rule **)0x0" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar14 = PTR_LAB_0008d628 + 0x7028;" (assignment_expression "puVar14 = PTR_LAB_0008d628 + 0x7028" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7028" identifier + number_literal)) ;) (expression_statement "unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144);" (assignment_expression "unaff_s4 = (state **)(PTR_LAB_0008d628 + 0x7144)" identifier = (cast_expression "(state **)(PTR_LAB_0008d628 + 0x7144)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7144)" ( (binary_expression "PTR_LAB_0008d628 + 0x7144" identifier + number_literal) )))) ;) (do_statement "do {\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                } while ((int)unaff_s3 < iVar32);" do (compound_statement "{\n                  while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                  ppsVar34 = ppsVar34 + 1;\n                }" { (while_statement "while (*ppsVar34 != (symbol *)0x0) {\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" while (parenthesized_expression "(*ppsVar34 != (symbol *)0x0)" ( (binary_expression "*ppsVar34 != (symbol *)0x0" (pointer_expression "*ppsVar34" * identifier) != (cast_expression "(symbol *)0x0" ( (type_descriptor "symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pcVar43 = (*ppsVar34)->tag;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);\n                    iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);\n                    unaff_s8 = (state **)((uVar33 + 2) - iVar32);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }\n                    uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    ppsVar34 = ppsVar34 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);\n                    iVar32 = peVar36->num;\n                    if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" { (expression_statement "pcVar43 = (*ppsVar34)->tag;" (assignment_expression "pcVar43 = (*ppsVar34)->tag" identifier = (field_expression "(*ppsVar34)->tag" (parenthesized_expression "(*ppsVar34)" ( (pointer_expression "*ppsVar34" * identifier) )) -> field_identifier)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,puVar14,pcVar43)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43);" (assignment_expression "iVar32 = (*(code *)PTR_strlen_0008def8)(pcVar43)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(pcVar43)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar43)" ( identifier )))) ;) (expression_statement "unaff_s8 = (state **)((uVar33 + 2) - iVar32);" (assignment_expression "unaff_s8 = (state **)((uVar33 + 2) - iVar32)" identifier = (cast_expression "(state **)((uVar33 + 2) - iVar32)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uVar33 + 2) - iVar32)" ( (binary_expression "(uVar33 + 2) - iVar32" (parenthesized_expression "(uVar33 + 2)" ( (binary_expression "uVar33 + 2" identifier + number_literal) )) - identifier) )))) ;) (if_statement "if (0 < (int)unaff_s8) {\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                      do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);\n                    }" { (do_statement "do {\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (state **)0x0);" do (compound_statement "{\n                        pcVar11 = (out->type_location).end.file;\n                        if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }\n                        unaff_s8 = (state **)((int)unaff_s8 + -1);\n                      }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n                          (out->type_location).end.file = pcVar11 + 1;\n                          *pcVar11 = ' ';\n                        }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = ' ';" (assignment_expression "*pcVar11 = ' '" (pointer_expression "*pcVar11" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }" else (compound_statement "{\n                          (*(code *)PTR___overflow_0008de84)(out,0x20);\n                        }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,0x20);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,0x20)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s8 = (state **)((int)unaff_s8 + -1);" (assignment_expression "unaff_s8 = (state **)((int)unaff_s8 + -1)" identifier = (cast_expression "(state **)((int)unaff_s8 + -1)" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s8 + -1)" ( (binary_expression "(int)unaff_s8 + -1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s8 != (state **)0x0)" ( (binary_expression "unaff_s8 != (state **)0x0" identifier != (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) ;) })) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "unaff_s3 = (rule **)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (rule **)((int)unaff_s3 + 1)" identifier = (cast_expression "(rule **)((int)unaff_s3 + 1)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppsVar34 = ppsVar34 + 1;" (assignment_expression "ppsVar34 = ppsVar34 + 1" identifier = (binary_expression "ppsVar34 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar12,out)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,out)" ( identifier , identifier ))) ;) (expression_statement "iVar32 = peVar36->num;" (assignment_expression "iVar32 = peVar36->num" identifier = (field_expression "peVar36->num" identifier -> field_identifier)) ;) (if_statement "if (iVar32 <= (int)unaff_s3) goto LAB_0003bfe0;" if (parenthesized_expression "(iVar32 <= (int)unaff_s3)" ( (binary_expression "iVar32 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bfe0;" goto statement_identifier ;)) })) (expression_statement "unaff_s3 = (rule **)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (rule **)((int)unaff_s3 + 1)" identifier = (cast_expression "(rule **)((int)unaff_s3 + 1)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppsVar34 = ppsVar34 + 1;" (assignment_expression "ppsVar34 = ppsVar34 + 1" identifier = (binary_expression "ppsVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar32)" ( (binary_expression "(int)unaff_s3 < iVar32" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) })) (labeled_statement "LAB_0003bfe0:\n          prVar29 = unaff_s6->reductions;" statement_identifier : (expression_statement "prVar29 = unaff_s6->reductions;" (assignment_expression "prVar29 = unaff_s6->reductions" identifier = (field_expression "unaff_s6->reductions" identifier -> field_identifier)) ;)) (if_statement "if (prVar29->num == 0) {\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }\n          else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }" if (parenthesized_expression "(prVar29->num == 0)" ( (binary_expression "prVar29->num == 0" (field_expression "prVar29->num" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;\n          }" { (labeled_statement "LAB_0003c4e4:\n            ptVar35 = unaff_s6->transitions;" statement_identifier : (expression_statement "ptVar35 = unaff_s6->transitions;" (assignment_expression "ptVar35 = unaff_s6->transitions" identifier = (field_expression "unaff_s6->transitions" identifier -> field_identifier)) ;)) }) (else_clause "else {\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }" else (compound_statement "{\n            iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);\n            if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }\n            ptVar35 = unaff_s6->transitions;\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar32 = ptVar35->num;\n            if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }\n            peVar36 = unaff_s6->errs;\n            iVar32 = 0;\n            if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }\n            if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;\n            uVar33 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            ptVar35 = unaff_s6->transitions;\n          }" { (expression_statement "iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);" (assignment_expression "iVar32 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4)" * (cast_expression "(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4)" ( (binary_expression "*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4" (pointer_expression "*(int *)PTR_yydefact_0008d968" * (cast_expression "(int *)PTR_yydefact_0008d968" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "unaff_s6->number * 4" (field_expression "unaff_s6->number" identifier -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (iVar32 == 0) {\n              local_dc = (sym_content *)0x0;\n            }\n            else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n              local_dc = (sym_content *)0x0;\n            }" { (expression_statement "local_dc = (sym_content *)0x0;" (assignment_expression "local_dc = (sym_content *)0x0" identifier = (cast_expression "(sym_content *)0x0" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }" else (compound_statement "{\n              local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);\n              unaff_s3 = (rule **)PTR_rules_0008d784;\n            }" { (expression_statement "local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60);" (assignment_expression "local_dc = (sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60)" identifier = (cast_expression "(sym_content *)(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60)" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60)" ( (binary_expression "*(int *)PTR_rules_0008d784 + iVar32 * 0x60 + -0x60" (binary_expression "*(int *)PTR_rules_0008d784 + iVar32 * 0x60" (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar32 * 0x60" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "unaff_s3 = (rule **)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (rule **)PTR_rules_0008d784" identifier = (cast_expression "(rule **)PTR_rules_0008d784" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }))) (expression_statement "ptVar35 = unaff_s6->transitions;" (assignment_expression "ptVar35 = unaff_s6->transitions" identifier = (field_expression "unaff_s6->transitions" identifier -> field_identifier)) ;) (expression_statement "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));" (call_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0))" (parenthesized_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))" ( (pointer_expression "**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (pointer_expression "*(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (cast_expression "(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (binary_expression "**(int **)(puVar1 + -0x1cf0) + 0x24" (pointer_expression "**(int **)(puVar1 + -0x1cf0)" * (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar1 + -0x1cf0))" ( (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) ))) ;) (expression_statement "iVar32 = ptVar35->num;" (assignment_expression "iVar32 = ptVar35->num" identifier = (field_expression "ptVar35->num" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar32) {\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }" if (parenthesized_expression "(0 < iVar32)" ( (binary_expression "0 < iVar32" number_literal < identifier) )) (compound_statement "{\n              unaff_s4 = ptVar35->states;\n              unaff_s3 = (rule **)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);\n            }" { (expression_statement "unaff_s4 = ptVar35->states;" (assignment_expression "unaff_s4 = ptVar35->states" identifier = (field_expression "ptVar35->states" identifier -> field_identifier)) ;) (expression_statement "unaff_s3 = (rule **)0x0;" (assignment_expression "unaff_s3 = (rule **)0x0" identifier = (cast_expression "(rule **)0x0" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_0003c088:\n              do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);" statement_identifier : (do_statement "do {\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar32);" do (compound_statement "{\n                if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }\n                unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              }" { (if_statement "if (*unaff_s4 != (state *)0x0) {\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }" if (parenthesized_expression "(*unaff_s4 != (state *)0x0)" ( (binary_expression "*unaff_s4 != (state *)0x0" (pointer_expression "*unaff_s4" * identifier) != (cast_expression "(state *)0x0" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar33 = (*unaff_s4)->accessing_symbol;\n                  if (*(int *)puVar6 <= (int)uVar33) break;\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = (uVar33 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar21 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);\n                }" { (expression_statement "uVar33 = (*unaff_s4)->accessing_symbol;" (assignment_expression "uVar33 = (*unaff_s4)->accessing_symbol" identifier = (field_expression "(*unaff_s4)->accessing_symbol" (parenthesized_expression "(*unaff_s4)" ( (pointer_expression "*unaff_s4" * identifier) )) -> field_identifier)) ;) (if_statement "if (*(int *)puVar6 <= (int)uVar33) break;" if (parenthesized_expression "(*(int *)puVar6 <= (int)uVar33)" ( (binary_expression "*(int *)puVar6 <= (int)uVar33" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar26 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = (uVar33 >> 5) - puVar26[1];" (assignment_expression "uVar21 = (uVar33 >> 5) - puVar26[1]" identifier = (binary_expression "(uVar33 >> 5) - puVar26[1]" (parenthesized_expression "(uVar33 >> 5)" ( (binary_expression "uVar33 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar26[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar26[2] <= uVar21) {\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" if (parenthesized_expression "((uint)puVar26[2] <= uVar21)" ( (binary_expression "(uint)puVar26[2] <= uVar21" (cast_expression "(uint)puVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar26[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar26)();\n                    iVar32 = ptVar35->num;\n                    if (iVar32 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" { (expression_statement "unaff_s3 = (rule **)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (rule **)((int)unaff_s3 + 1)" identifier = (cast_expression "(rule **)((int)unaff_s3 + 1)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar26)();" (call_expression "(**(code **)*puVar26)()" (parenthesized_expression "(**(code **)*puVar26)" ( (pointer_expression "**(code **)*puVar26" * (pointer_expression "*(code **)*puVar26" * (cast_expression "(code **)*puVar26" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar26" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar32 = ptVar35->num;" (assignment_expression "iVar32 = ptVar35->num" identifier = (field_expression "ptVar35->num" identifier -> field_identifier)) ;) (if_statement "if (iVar32 <= (int)unaff_s3) break;" if (parenthesized_expression "(iVar32 <= (int)unaff_s3)" ( (binary_expression "iVar32 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c088;" goto statement_identifier ;) })) (expression_statement "puVar38 = (uint *)(puVar26[3] + uVar21 * 4);" (assignment_expression "puVar38 = (uint *)(puVar26[3] + uVar21 * 4)" identifier = (cast_expression "(uint *)(puVar26[3] + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26[3] + uVar21 * 4)" ( (binary_expression "puVar26[3] + uVar21 * 4" (subscript_expression "puVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar38 = *puVar38 | 1 << (uVar33 & 0x1f);" (assignment_expression "*puVar38 = *puVar38 | 1 << (uVar33 & 0x1f)" (pointer_expression "*puVar38" * identifier) = (binary_expression "*puVar38 | 1 << (uVar33 & 0x1f)" (pointer_expression "*puVar38" * identifier) | (binary_expression "1 << (uVar33 & 0x1f)" number_literal << (parenthesized_expression "(uVar33 & 0x1f)" ( (binary_expression "uVar33 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "unaff_s3 = (rule **)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (rule **)((int)unaff_s3 + 1)" identifier = (cast_expression "(rule **)((int)unaff_s3 + 1)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar32)" ( (binary_expression "(int)unaff_s3 < iVar32" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;)) })) (expression_statement "peVar36 = unaff_s6->errs;" (assignment_expression "peVar36 = unaff_s6->errs" identifier = (field_expression "unaff_s6->errs" identifier -> field_identifier)) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (if_statement "if (0 < peVar36->num) {\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }" if (parenthesized_expression "(0 < peVar36->num)" ( (binary_expression "0 < peVar36->num" number_literal < (field_expression "peVar36->num" identifier -> field_identifier)) )) (compound_statement "{\nLAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);\n            }" { (labeled_statement "LAB_0003c138:\n              do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);" statement_identifier : (do_statement "do {\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              } while (iVar32 < peVar36->num);" do (compound_statement "{\n                if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }\n                iVar32 = iVar32 + 1;\n              }" { (if_statement "if (peVar36->symbols[iVar32] != (symbol *)0x0) {\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }" if (parenthesized_expression "(peVar36->symbols[iVar32] != (symbol *)0x0)" ( (binary_expression "peVar36->symbols[iVar32] != (symbol *)0x0" (subscript_expression "peVar36->symbols[iVar32]" (field_expression "peVar36->symbols" identifier -> field_identifier) [ identifier ]) != (cast_expression "(symbol *)0x0" ( (type_descriptor "symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar21 = peVar36->symbols[iVar32]->content->number;\n                  uVar33 = (uVar21 >> 5) - puVar26[1];\n                  if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar38 = (uint *)(puVar26[3] + uVar33 * 4);\n                  *puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);\n                }" { (expression_statement "puVar26 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar26 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = peVar36->symbols[iVar32]->content->number;" (assignment_expression "uVar21 = peVar36->symbols[iVar32]->content->number" identifier = (field_expression "peVar36->symbols[iVar32]->content->number" (field_expression "peVar36->symbols[iVar32]->content" (subscript_expression "peVar36->symbols[iVar32]" (field_expression "peVar36->symbols" identifier -> field_identifier) [ identifier ]) -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar33 = (uVar21 >> 5) - puVar26[1];" (assignment_expression "uVar33 = (uVar21 >> 5) - puVar26[1]" identifier = (binary_expression "(uVar21 >> 5) - puVar26[1]" (parenthesized_expression "(uVar21 >> 5)" ( (binary_expression "uVar21 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar26[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar26[2] <= uVar33) {\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }" if (parenthesized_expression "((uint)puVar26[2] <= uVar33)" ( (binary_expression "(uint)puVar26[2] <= uVar33" (cast_expression "(uint)puVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar26[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    iVar32 = iVar32 + 1;\n                    (**(code **)*puVar26)();\n                    peVar36 = unaff_s6->errs;\n                    if (peVar36->num <= iVar32) break;\n                    goto LAB_0003c138;\n                  }" { (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar26)();" (call_expression "(**(code **)*puVar26)()" (parenthesized_expression "(**(code **)*puVar26)" ( (pointer_expression "**(code **)*puVar26" * (pointer_expression "*(code **)*puVar26" * (cast_expression "(code **)*puVar26" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar26" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "peVar36 = unaff_s6->errs;" (assignment_expression "peVar36 = unaff_s6->errs" identifier = (field_expression "unaff_s6->errs" identifier -> field_identifier)) ;) (if_statement "if (peVar36->num <= iVar32) break;" if (parenthesized_expression "(peVar36->num <= iVar32)" ( (binary_expression "peVar36->num <= iVar32" (field_expression "peVar36->num" identifier -> field_identifier) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c138;" goto statement_identifier ;) })) (expression_statement "puVar38 = (uint *)(puVar26[3] + uVar33 * 4);" (assignment_expression "puVar38 = (uint *)(puVar26[3] + uVar33 * 4)" identifier = (cast_expression "(uint *)(puVar26[3] + uVar33 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26[3] + uVar33 * 4)" ( (binary_expression "puVar26[3] + uVar33 * 4" (subscript_expression "puVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar33 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar38 = *puVar38 | 1 << (uVar21 & 0x1f);" (assignment_expression "*puVar38 = *puVar38 | 1 << (uVar21 & 0x1f)" (pointer_expression "*puVar38" * identifier) = (binary_expression "*puVar38 | 1 << (uVar21 & 0x1f)" (pointer_expression "*puVar38" * identifier) | (binary_expression "1 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar32 < peVar36->num)" ( (binary_expression "iVar32 < peVar36->num" identifier < (field_expression "peVar36->num" identifier -> field_identifier)) )) ;)) })) (if_statement "if (local_dc != (sym_content *)0x0) {\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" if (parenthesized_expression "(local_dc != (sym_content *)0x0)" ( (binary_expression "local_dc != (sym_content *)0x0" identifier != (cast_expression "(sym_content *)0x0" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);\n              if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }\n              if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" { (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12);" (assignment_expression "uVar33 = (*(code *)PTR_strlen_0008def8)(uVar12)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar12)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if ((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }" if (parenthesized_expression "((prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6))" ( (binary_expression "(prVar29->lookahead_tokens != (bitset_conflict *)0x0) && (0 < *(int *)puVar6)" (parenthesized_expression "(prVar29->lookahead_tokens != (bitset_conflict *)0x0)" ( (binary_expression "prVar29->lookahead_tokens != (bitset_conflict *)0x0" (field_expression "prVar29->lookahead_tokens" identifier -> field_identifier) != (cast_expression "(bitset_conflict *)0x0" ( (type_descriptor "bitset_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\nLAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;\n                uVar21 = 0;\n                do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);\n              }" { (labeled_statement "LAB_0003c1e8:\n                unaff_s4 = (state **)PTR_symbols_0008d7a4;" statement_identifier : (expression_statement "unaff_s4 = (state **)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (state **)PTR_symbols_0008d7a4" identifier = (cast_expression "(state **)PTR_symbols_0008d7a4" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                } while ((int)uVar21 < *(int *)puVar6);" do (compound_statement "{\n                  piVar17 = *(int **)(puVar1 + -0x1cf0);\n                  uVar22 = (uVar21 >> 5) - piVar17[1];\n                  if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }\n                  unaff_s8 = (state **)prVar29->num;\n                  pprVar39 = prVar29->rules;\n                  unaff_s3 = pprVar39;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar21 = uVar21 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = out;\n                }" { (expression_statement "piVar17 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar17 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = (uVar21 >> 5) - piVar17[1];" (assignment_expression "uVar22 = (uVar21 >> 5) - piVar17[1]" identifier = (binary_expression "(uVar21 >> 5) - piVar17[1]" (parenthesized_expression "(uVar21 >> 5)" ( (binary_expression "uVar21 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar17[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar22 < (uint)piVar17[2]) {\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }" if (parenthesized_expression "(uVar22 < (uint)piVar17[2])" ( (binary_expression "uVar22 < (uint)piVar17[2]" identifier < (cast_expression "(uint)piVar17[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                    uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;\n                  }" { (expression_statement "uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1;" (assignment_expression "uVar22 = *(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f) & 1" (binary_expression "*(uint *)(piVar17[3] + uVar22 * 4) >> (uVar21 & 0x1f)" (pointer_expression "*(uint *)(piVar17[3] + uVar22 * 4)" * (cast_expression "(uint *)(piVar17[3] + uVar22 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17[3] + uVar22 * 4)" ( (binary_expression "piVar17[3] + uVar22 * 4" (subscript_expression "piVar17[3]" identifier [ number_literal ]) + (binary_expression "uVar22 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }" else (compound_statement "{\n                    uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);\n                  }" { (expression_statement "uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21);" (assignment_expression "uVar22 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar21)" identifier = (call_expression "(**(code **)(*piVar17 + 0xc))(piVar17,uVar21)" (parenthesized_expression "(**(code **)(*piVar17 + 0xc))" ( (pointer_expression "**(code **)(*piVar17 + 0xc)" * (pointer_expression "*(code **)(*piVar17 + 0xc)" * (cast_expression "(code **)(*piVar17 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar17 + 0xc)" ( (binary_expression "*piVar17 + 0xc" (pointer_expression "*piVar17" * identifier) + number_literal) ))))) )) (argument_list "(piVar17,uVar21)" ( identifier , identifier )))) ;) }))) (expression_statement "unaff_s8 = (state **)prVar29->num;" (assignment_expression "unaff_s8 = (state **)prVar29->num" identifier = (cast_expression "(state **)prVar29->num" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "prVar29->num" identifier -> field_identifier))) ;) (expression_statement "pprVar39 = prVar29->rules;" (assignment_expression "pprVar39 = prVar29->rules" identifier = (field_expression "prVar29->rules" identifier -> field_identifier)) ;) (expression_statement "unaff_s3 = pprVar39;" (assignment_expression "unaff_s3 = pprVar39" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    local_b8 = (undefined *)(uVar21 & 0x1f);\n                    unaff_s3 = (rule **)0x0;\n                    do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" { (expression_statement "local_b8 = (undefined *)(uVar21 & 0x1f);" (assignment_expression "local_b8 = (undefined *)(uVar21 & 0x1f)" identifier = (cast_expression "(undefined *)(uVar21 & 0x1f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "unaff_s3 = (rule **)0x0;" (assignment_expression "unaff_s3 = (rule **)0x0" identifier = (cast_expression "(rule **)0x0" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);" do (compound_statement "{\n                      pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];\n                      uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;\n                      if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }\n                      if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }\n                      unaff_s3 = (rule **)((int)unaff_s3 + 1);\n                      pprVar39 = pprVar39 + 1;\n                    }" { (expression_statement "pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3];" (assignment_expression "pbVar18 = prVar29->lookahead_tokens[(int)unaff_s3]" identifier = (subscript_expression "prVar29->lookahead_tokens[(int)unaff_s3]" (field_expression "prVar29->lookahead_tokens" identifier -> field_identifier) [ (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex;" (assignment_expression "uVar23 = (uVar21 >> 5) - (pbVar18->b).cindex" identifier = (binary_expression "(uVar21 >> 5) - (pbVar18->b).cindex" (parenthesized_expression "(uVar21 >> 5)" ( (binary_expression "uVar21 >> 5" identifier >> number_literal) )) - (field_expression "(pbVar18->b).cindex" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (uVar23 < (pbVar18->b).csize) {\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }\n                      else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }" if (parenthesized_expression "(uVar23 < (pbVar18->b).csize)" ( (binary_expression "uVar23 < (pbVar18->b).csize" identifier < (field_expression "(pbVar18->b).csize" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n                        uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;\n                      }" { (expression_statement "uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1;" (assignment_expression "uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1" identifier = (binary_expression "(pbVar18->b).cdata[uVar23] >> (int)local_b8 & 1" (binary_expression "(pbVar18->b).cdata[uVar23] >> (int)local_b8" (subscript_expression "(pbVar18->b).cdata[uVar23]" (field_expression "(pbVar18->b).cdata" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier) [ identifier ]) >> (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }" else (compound_statement "{\n                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);\n                        uVar23 = CONCAT31(extraout_var,_Var24);\n                        unaff_s8 = (state **)prVar29->num;\n                      }" { (expression_statement "_Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21);" (assignment_expression "_Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar21)" identifier = (call_expression "(*((pbVar18->b).vtable)->test)(pbVar18,uVar21)" (parenthesized_expression "(*((pbVar18->b).vtable)->test)" ( (pointer_expression "*((pbVar18->b).vtable)->test" * (field_expression "((pbVar18->b).vtable)->test" (parenthesized_expression "((pbVar18->b).vtable)" ( (field_expression "(pbVar18->b).vtable" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) )) (argument_list "(pbVar18,uVar21)" ( identifier , identifier )))) ;) (expression_statement "uVar23 = CONCAT31(extraout_var,_Var24);" (assignment_expression "uVar23 = CONCAT31(extraout_var,_Var24)" identifier = (call_expression "CONCAT31(extraout_var,_Var24)" identifier (argument_list "(extraout_var,_Var24)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (state **)prVar29->num;" (assignment_expression "unaff_s8 = (state **)prVar29->num" identifier = (cast_expression "(state **)prVar29->num" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "prVar29->num" identifier -> field_identifier))) ;) }))) (if_statement "if (uVar23 != 0) {\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                      }" { (if_statement "if (uVar22 == 0) {\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }\n                        else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar22 = uVar23;\n                          if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }\n                        }" { (expression_statement "uVar22 = uVar23;" (assignment_expression "uVar22 = uVar23" identifier = identifier) ;) (if_statement "if ((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)) {\n                            uVar33 = uVar23;\n                          }" if (parenthesized_expression "((local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23))" ( (binary_expression "(local_dc != (sym_content *)*pprVar39) &&\n                             (uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)" (parenthesized_expression "(local_dc != (sym_content *)*pprVar39)" ( (binary_expression "local_dc != (sym_content *)*pprVar39" identifier != (cast_expression "(sym_content *)*pprVar39" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pprVar39" * identifier))) )) && (parenthesized_expression "(uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23)" ( (comma_expression "uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)),\n                             uVar33 < uVar23" (assignment_expression "uVar23 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" ( (pointer_expression "**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" * (pointer_expression "*(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" * (cast_expression "(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s4 + uVar21 * 4)" ( (binary_expression "(int)*unaff_s4 + uVar21 * 4" (cast_expression "(int)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) )))) , (binary_expression "uVar33 < uVar23" identifier < identifier)) ))) )) (compound_statement "{\n                            uVar33 = uVar23;\n                          }" { (expression_statement "uVar33 = uVar23;" (assignment_expression "uVar33 = uVar23" identifier = identifier) ;) })) }) (else_clause "else {\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }" else (compound_statement "{\n                          uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));\n                          if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }\n                        }" { (expression_statement "uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4));" (assignment_expression "uVar23 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)((int)*unaff_s4 + uVar21 * 4))" ( (pointer_expression "**(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" * (pointer_expression "*(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" * (cast_expression "(undefined4 **)((int)*unaff_s4 + uVar21 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)*unaff_s4 + uVar21 * 4)" ( (binary_expression "(int)*unaff_s4 + uVar21 * 4" (cast_expression "(int)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) )))) ;) (if_statement "if (uVar33 < uVar23) {\n                            uVar33 = uVar23;\n                          }" if (parenthesized_expression "(uVar33 < uVar23)" ( (binary_expression "uVar33 < uVar23" identifier < identifier) )) (compound_statement "{\n                            uVar33 = uVar23;\n                          }" { (expression_statement "uVar33 = uVar23;" (assignment_expression "uVar33 = uVar23" identifier = identifier) ;) })) }))) })) (expression_statement "unaff_s3 = (rule **)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (rule **)((int)unaff_s3 + 1)" identifier = (cast_expression "(rule **)((int)unaff_s3 + 1)" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pprVar39 = pprVar39 + 1;" (assignment_expression "pprVar39 = pprVar39 + 1" identifier = (binary_expression "pprVar39 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < (int)unaff_s8)" ( (binary_expression "(int)unaff_s3 < (int)unaff_s8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = unaff_s6;" (assignment_expression "local_b4 = unaff_s6" identifier = identifier) ;) (expression_statement "local_b0 = out;" (assignment_expression "local_b0 = out" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar21 < *(int *)puVar6)" ( (binary_expression "(int)uVar21 < *(int *)puVar6" (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (if_statement "if (uVar33 != 0) {\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }" if (parenthesized_expression "(uVar33 != 0)" ( (binary_expression "uVar33 != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar11 = (out->type_location).end.file;\n                if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }\n                puVar14 = PTR_symbols_0008d7a4;\n                iVar32 = uVar33 + 2;\n                if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }\n              }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n                  (out->type_location).end.file = pcVar11 + 1;\n                  *pcVar11 = '\n';\n                }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }" else (compound_statement "{\n                  (*(code *)PTR___overflow_0008de84)(out,10);\n                }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "puVar14 = PTR_symbols_0008d7a4;" (assignment_expression "puVar14 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "iVar32 = uVar33 + 2;" (assignment_expression "iVar32 = uVar33 + 2" identifier = (binary_expression "uVar33 + 2" identifier + number_literal)) ;) (if_statement "if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) {\n                  unaff_s8 = (state **)0x1;\n                }\n                else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }" if (parenthesized_expression "(prVar29->lookahead_tokens == (bitset_conflict *)0x0)" ( (binary_expression "prVar29->lookahead_tokens == (bitset_conflict *)0x0" (field_expression "prVar29->lookahead_tokens" identifier -> field_identifier) == (cast_expression "(bitset_conflict *)0x0" ( (type_descriptor "bitset_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  unaff_s8 = (state **)0x1;\n                }" { (expression_statement "unaff_s8 = (state **)0x1;" (assignment_expression "unaff_s8 = (state **)0x1" identifier = (cast_expression "(state **)0x1" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }" else (compound_statement "{\n                  unaff_s8 = (state **)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }\n                }" { (expression_statement "unaff_s8 = (state **)0x1;" (assignment_expression "unaff_s8 = (state **)0x1" identifier = (cast_expression "(state **)0x1" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (0 < *(int *)puVar6) {\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                    uVar33 = 0;\n                    unaff_s8 = (state **)0x1;\n                    do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);\n                  }" { (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (expression_statement "unaff_s8 = (state **)0x1;" (assignment_expression "unaff_s8 = (state **)0x1" identifier = (cast_expression "(state **)0x1" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    } while ((int)uVar33 < *(int *)puVar6);" do (compound_statement "{\n                      piVar17 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar33 >> 5);\n                      if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }\n                      if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }\n                      if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }\n                      uVar33 = uVar33 + 1;\n                    }" { (expression_statement "piVar17 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar17 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = (undefined *)(uVar33 >> 5);" (assignment_expression "local_b8 = (undefined *)(uVar33 >> 5)" identifier = (cast_expression "(undefined *)(uVar33 >> 5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar33 >> 5)" ( (binary_expression "uVar33 >> 5" identifier >> number_literal) )))) ;) (if_statement "if ((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]) {\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }" if (parenthesized_expression "((uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2])" ( (binary_expression "(uint)((int)local_b8 - piVar17[1]) < (uint)piVar17[2]" (call_expression "(uint)((int)local_b8 - piVar17[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b8 - piVar17[1])" ( (binary_expression "(int)local_b8 - piVar17[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar17[1]" identifier [ number_literal ])) ))) < (cast_expression "(uint)piVar17[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar17[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                        uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;\n                      }" { (expression_statement "uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1;" (assignment_expression "uVar21 = *(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f) & 1" (binary_expression "*(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4) >>\n                                 (uVar33 & 0x1f)" (pointer_expression "*(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4)" * (cast_expression "(uint *)(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17[3] + ((int)local_b8 - piVar17[1]) * 4)" ( (binary_expression "piVar17[3] + ((int)local_b8 - piVar17[1]) * 4" (subscript_expression "piVar17[3]" identifier [ number_literal ]) + (binary_expression "((int)local_b8 - piVar17[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar17[1])" ( (binary_expression "(int)local_b8 - piVar17[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar17[1]" identifier [ number_literal ])) )) * number_literal)) )))) >> (parenthesized_expression "(uVar33 & 0x1f)" ( (binary_expression "uVar33 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }" else (compound_statement "{\n                        uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);\n                      }" { (expression_statement "uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33);" (assignment_expression "uVar21 = (**(code **)(*piVar17 + 0xc))(piVar17,uVar33)" identifier = (call_expression "(**(code **)(*piVar17 + 0xc))(piVar17,uVar33)" (parenthesized_expression "(**(code **)(*piVar17 + 0xc))" ( (pointer_expression "**(code **)(*piVar17 + 0xc)" * (pointer_expression "*(code **)(*piVar17 + 0xc)" * (cast_expression "(code **)(*piVar17 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar17 + 0xc)" ( (binary_expression "*piVar17 + 0xc" (pointer_expression "*piVar17" * identifier) + number_literal) ))))) )) (argument_list "(piVar17,uVar33)" ( identifier , identifier )))) ;) }))) (if_statement "if (uVar21 != 0) {\n                        unaff_s8 = (state **)0x0;\n                      }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                        unaff_s8 = (state **)0x0;\n                      }" { (expression_statement "unaff_s8 = (state **)0x0;" (assignment_expression "unaff_s8 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (if_statement "if (0 < prVar29->num) {\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }" if (parenthesized_expression "(0 < prVar29->num)" ( (binary_expression "0 < prVar29->num" number_literal < (field_expression "prVar29->num" identifier -> field_identifier)) )) (compound_statement "{\n                        iVar25 = uVar33 * 4;\n                        unaff_s3 = prVar29->rules;\n                        local_b0 = (sym_content *)&local_dc->type_name;\n                        iVar16 = 0;\n                        local_b4 = (state *)(uVar33 & 0x1f);\n                        uVar22 = 0;\n                        do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);\n                      }" { (expression_statement "iVar25 = uVar33 * 4;" (assignment_expression "iVar25 = uVar33 * 4" identifier = (binary_expression "uVar33 * 4" identifier * number_literal)) ;) (expression_statement "unaff_s3 = prVar29->rules;" (assignment_expression "unaff_s3 = prVar29->rules" identifier = (field_expression "prVar29->rules" identifier -> field_identifier)) ;) (expression_statement "local_b0 = (sym_content *)&local_dc->type_name;" (assignment_expression "local_b0 = (sym_content *)&local_dc->type_name" identifier = (cast_expression "(sym_content *)&local_dc->type_name" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_dc->type_name" & (field_expression "local_dc->type_name" identifier -> field_identifier)))) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (state *)(uVar33 & 0x1f);" (assignment_expression "local_b4 = (state *)(uVar33 & 0x1f)" identifier = (cast_expression "(state *)(uVar33 & 0x1f)" ( (type_descriptor "state *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar33 & 0x1f)" ( (binary_expression "uVar33 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        } while (iVar16 < prVar29->num);" do (compound_statement "{\n                          pbVar18 = prVar29->lookahead_tokens[iVar16];\n                          uVar23 = (int)local_b8 - (pbVar18->b).cindex;\n                          if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }\n                          uVar44 = uVar22;\n                          if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }\n                          iVar16 = iVar16 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar22 = uVar44;\n                        }" { (expression_statement "pbVar18 = prVar29->lookahead_tokens[iVar16];" (assignment_expression "pbVar18 = prVar29->lookahead_tokens[iVar16]" identifier = (subscript_expression "prVar29->lookahead_tokens[iVar16]" (field_expression "prVar29->lookahead_tokens" identifier -> field_identifier) [ identifier ])) ;) (expression_statement "uVar23 = (int)local_b8 - (pbVar18->b).cindex;" (assignment_expression "uVar23 = (int)local_b8 - (pbVar18->b).cindex" identifier = (binary_expression "(int)local_b8 - (pbVar18->b).cindex" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (field_expression "(pbVar18->b).cindex" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (uVar23 < (pbVar18->b).csize) {\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }\n                          else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }" if (parenthesized_expression "(uVar23 < (pbVar18->b).csize)" ( (binary_expression "uVar23 < (pbVar18->b).csize" identifier < (field_expression "(pbVar18->b).csize" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n                            uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;\n                          }" { (expression_statement "uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1;" (assignment_expression "uVar23 = (pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1" identifier = (binary_expression "(pbVar18->b).cdata[uVar23] >> (int)local_b4 & 1" (binary_expression "(pbVar18->b).cdata[uVar23] >> (int)local_b4" (subscript_expression "(pbVar18->b).cdata[uVar23]" (field_expression "(pbVar18->b).cdata" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier) [ identifier ]) >> (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }" else (compound_statement "{\n                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);\n                            uVar23 = CONCAT31(extraout_var_00,_Var24);\n                          }" { (expression_statement "_Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33);" (assignment_expression "_Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,uVar33)" identifier = (call_expression "(*((pbVar18->b).vtable)->test)(pbVar18,uVar33)" (parenthesized_expression "(*((pbVar18->b).vtable)->test)" ( (pointer_expression "*((pbVar18->b).vtable)->test" * (field_expression "((pbVar18->b).vtable)->test" (parenthesized_expression "((pbVar18->b).vtable)" ( (field_expression "(pbVar18->b).vtable" (parenthesized_expression "(pbVar18->b)" ( (field_expression "pbVar18->b" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) )) (argument_list "(pbVar18,uVar33)" ( identifier , identifier )))) ;) (expression_statement "uVar23 = CONCAT31(extraout_var_00,_Var24);" (assignment_expression "uVar23 = CONCAT31(extraout_var_00,_Var24)" identifier = (call_expression "CONCAT31(extraout_var_00,_Var24)" identifier (argument_list "(extraout_var_00,_Var24)" ( identifier , identifier )))) ;) }))) (expression_statement "uVar44 = uVar22;" (assignment_expression "uVar44 = uVar22" identifier = identifier) ;) (if_statement "if (uVar23 != 0) {\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                            if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }\n                          }" { (if_statement "if (uVar21 == 0) {\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }\n                            else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                              psVar28 = (sym_content *)*unaff_s3;\n                              uVar21 = uVar23;\n                              uVar44 = uVar23;\n                              if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }\n                            }" { (expression_statement "psVar28 = (sym_content *)*unaff_s3;" (assignment_expression "psVar28 = (sym_content *)*unaff_s3" identifier = (cast_expression "(sym_content *)*unaff_s3" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier))) ;) (expression_statement "uVar21 = uVar23;" (assignment_expression "uVar21 = uVar23" identifier = identifier) ;) (expression_statement "uVar44 = uVar23;" (assignment_expression "uVar44 = uVar23" identifier = identifier) ;) (if_statement "if (local_dc != psVar28) {\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }" if (parenthesized_expression "(local_dc != psVar28)" ( (binary_expression "local_dc != psVar28" identifier != identifier) )) (compound_statement "{\n                                unaff_s8 = (state **)0x0;\n                                (*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);\n                                uVar44 = uVar22;\n                              }" { (expression_statement "unaff_s8 = (state **)0x0;" (assignment_expression "unaff_s8 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1);" (call_expression "(*local_c8)(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(out,iVar32,**(undefined4 **)(*(int *)puVar14 + iVar25),\n                                            &psVar28->type_name,&psVar28->type_location,1)" ( identifier , identifier , (pointer_expression "**(undefined4 **)(*(int *)puVar14 + iVar25)" * (pointer_expression "*(undefined4 **)(*(int *)puVar14 + iVar25)" * (cast_expression "(undefined4 **)(*(int *)puVar14 + iVar25)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar14 + iVar25)" ( (binary_expression "*(int *)puVar14 + iVar25" (pointer_expression "*(int *)puVar14" * (cast_expression "(int *)puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) , (pointer_expression "&psVar28->type_name" & (field_expression "psVar28->type_name" identifier -> field_identifier)) , (pointer_expression "&psVar28->type_location" & (field_expression "psVar28->type_location" identifier -> field_identifier)) , number_literal ))) ;) (expression_statement "uVar44 = uVar22;" (assignment_expression "uVar44 = uVar22" identifier = identifier) ;) })) }) (else_clause "else {\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }" else (compound_statement "{\n                              uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }\n                              unaff_s8 = (state **)0x0;\n                              (*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);\n                              uVar44 = 0;\n                            }" { (expression_statement "uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);" (assignment_expression "uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar14 + iVar25)" * (pointer_expression "*(undefined4 **)(*(int *)puVar14 + iVar25)" * (cast_expression "(undefined4 **)(*(int *)puVar14 + iVar25)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar14 + iVar25)" ( (binary_expression "*(int *)puVar14 + iVar25" (pointer_expression "*(int *)puVar14" * (cast_expression "(int *)puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) (if_statement "if (uVar22 != 0) {\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n                                (*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);\n                                uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);\n                              }" { (expression_statement "(*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1);" (call_expression "(*local_c8)(out,iVar32,uVar12,local_b0,&local_dc->type_location,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(out,iVar32,uVar12,local_b0,&local_dc->type_location,1)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_dc->type_location" & (field_expression "local_dc->type_location" identifier -> field_identifier)) , number_literal ))) ;) (expression_statement "uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25);" (assignment_expression "uVar12 = **(undefined4 **)(*(int *)puVar14 + iVar25)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar14 + iVar25)" * (pointer_expression "*(undefined4 **)(*(int *)puVar14 + iVar25)" * (cast_expression "(undefined4 **)(*(int *)puVar14 + iVar25)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar14 + iVar25)" ( (binary_expression "*(int *)puVar14 + iVar25" (pointer_expression "*(int *)puVar14" * (cast_expression "(int *)puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) })) (expression_statement "unaff_s8 = (state **)0x0;" (assignment_expression "unaff_s8 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0);" (call_expression "(*local_c8)(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(out,iVar32,uVar12,(location *)&(*unaff_s3)->number,\n                                          &(*unaff_s3)->lhs,0)" ( identifier , identifier , identifier , (cast_expression "(location *)&(*unaff_s3)->number" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(*unaff_s3)->number" & (field_expression "(*unaff_s3)->number" (parenthesized_expression "(*unaff_s3)" ( (pointer_expression "*unaff_s3" * identifier) )) -> field_identifier))) , (pointer_expression "&(*unaff_s3)->lhs" & (field_expression "(*unaff_s3)->lhs" (parenthesized_expression "(*unaff_s3)" ( (pointer_expression "*unaff_s3" * identifier) )) -> field_identifier)) , number_literal ))) ;) (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s8;" (assignment_expression "unaff_s4 = unaff_s8" identifier = identifier) ;) (expression_statement "uVar22 = uVar44;" (assignment_expression "uVar22 = uVar44" identifier = identifier) ;) }) while (parenthesized_expression "(iVar16 < prVar29->num)" ( (binary_expression "iVar16 < prVar29->num" identifier < (field_expression "prVar29->num" identifier -> field_identifier)) )) ;) })) (expression_statement "uVar33 = uVar33 + 1;" (assignment_expression "uVar33 = uVar33 + 1" identifier = (binary_expression "uVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar33 < *(int *)puVar6)" ( (binary_expression "(int)uVar33 < *(int *)puVar6" (cast_expression "(int)uVar33" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) }))) (if_statement "if (local_dc != (sym_content *)0x0) {\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }" if (parenthesized_expression "(local_dc != (sym_content *)0x0)" ( (binary_expression "local_dc != (sym_content *)0x0" identifier != (cast_expression "(sym_content *)0x0" ( (type_descriptor "sym_content *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);\n                  iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(pcVar11);\n                }" { (expression_statement "pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);" (assignment_expression "pcVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier = (call_expression "muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier (argument_list "(PTR_LAB_0008d628 + 0x3c20)" ( (binary_expression "PTR_LAB_0008d628 + 0x3c20" identifier + number_literal) )))) ;) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1);" (call_expression "(*local_c8)(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(out,iVar32,uVar12,&local_dc->type_name,&local_dc->type_location,1)" ( identifier , identifier , identifier , (pointer_expression "&local_dc->type_name" & (field_expression "local_dc->type_name" identifier -> field_identifier)) , (pointer_expression "&local_dc->type_location" & (field_expression "local_dc->type_location" identifier -> field_identifier)) , number_literal ))) ;) (expression_statement "iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c);" (assignment_expression "iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x715c)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11,PTR_LAB_0008d628 + 0x715c)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x715c" identifier + number_literal) )))) ;) (if_statement "if (((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" if (parenthesized_expression "(((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0))))" ( (binary_expression "((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))) &&\n                     ((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))" (parenthesized_expression "((iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0))))" ( (binary_expression "(iVar32 != 0) &&\n                      ((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))" (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)))" ( (parenthesized_expression "(iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0))" ( (comma_expression "iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar32 != 0 || (unaff_s8 == (state **)0x0)" (assignment_expression "iVar32 = (*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(pcVar11,PTR_LAB_0008d628 + 0x7164)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11,PTR_LAB_0008d628 + 0x7164)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x7164" identifier + number_literal) )))) , (binary_expression "iVar32 != 0 || (unaff_s8 == (state **)0x0)" (binary_expression "iVar32 != 0" identifier != number_literal) || (parenthesized_expression "(unaff_s8 == (state **)0x0)" ( (binary_expression "unaff_s8 == (state **)0x0" identifier == (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )))) )) ))) )) && (parenthesized_expression "((prVar29->num != 1 || (prVar29->rules[0]->number != 0)))" ( (parenthesized_expression "(prVar29->num != 1 || (prVar29->rules[0]->number != 0))" ( (binary_expression "prVar29->num != 1 || (prVar29->rules[0]->number != 0)" (binary_expression "prVar29->num != 1" (field_expression "prVar29->num" identifier -> field_identifier) != number_literal) || (parenthesized_expression "(prVar29->rules[0]->number != 0)" ( (binary_expression "prVar29->rules[0]->number != 0" (field_expression "prVar29->rules[0]->number" (subscript_expression "prVar29->rules[0]" (field_expression "prVar29->rules" identifier -> field_identifier) [ number_literal ]) -> field_identifier) != number_literal) ))) )) ))) )) (compound_statement "{\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" { (expression_statement "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);" (call_expression "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" (parenthesized_expression "(*(code *)PTR___assert_fail_0008de30)" ( (pointer_expression "*(code *)PTR___assert_fail_0008de30" * (cast_expression "(code *)PTR___assert_fail_0008de30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" ( (binary_expression "PTR_LAB_0008d628 + 0x717c" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x7170" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7220" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_free_0008df9c)(pcVar11);" (call_expression "(*(code *)PTR_free_0008df9c)(pcVar11)" (parenthesized_expression "(*(code *)PTR_free_0008df9c)" ( (pointer_expression "*(code *)PTR_free_0008df9c" * (cast_expression "(code *)PTR_free_0008df9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11)" ( identifier ))) ;) })) })) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;) })) (if_statement "if (prVar29->lookahead_tokens == (bitset_conflict *)0x0) goto LAB_0003c4e4;" if (parenthesized_expression "(prVar29->lookahead_tokens == (bitset_conflict *)0x0)" ( (binary_expression "prVar29->lookahead_tokens == (bitset_conflict *)0x0" (field_expression "prVar29->lookahead_tokens" identifier -> field_identifier) == (cast_expression "(bitset_conflict *)0x0" ( (type_descriptor "bitset_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;)) (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)puVar6) goto LAB_0003c1e8;" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003c1e8;" goto statement_identifier ;)) (expression_statement "ptVar35 = unaff_s6->transitions;" (assignment_expression "ptVar35 = unaff_s6->transitions" identifier = (field_expression "unaff_s6->transitions" identifier -> field_identifier)) ;) }))) (expression_statement "(*pcVar19)(ptVar35,out,0);" (call_expression "(*pcVar19)(ptVar35,out,0)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(ptVar35,out,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }" if (parenthesized_expression "(((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0))" ( (binary_expression "((*(uint *)puVar2 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)" (parenthesized_expression "((*(uint *)puVar2 & 8) != 0)" ( (binary_expression "(*(uint *)puVar2 & 8) != 0" (parenthesized_expression "(*(uint *)puVar2 & 8)" ( (binary_expression "*(uint *)puVar2 & 8" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) && (parenthesized_expression "(unaff_s6->solved_conflicts != (char *)0x0)" ( (binary_expression "unaff_s6->solved_conflicts != (char *)0x0" (field_expression "unaff_s6->solved_conflicts" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            pcVar11 = (out->type_location).end.file;\n            if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);\n          }" { (expression_statement "pcVar11 = (out->type_location).end.file;" (assignment_expression "pcVar11 = (out->type_location).end.file" identifier = (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pcVar11 < (char *)(out->type_location).end.line) {\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" if (parenthesized_expression "(pcVar11 < (char *)(out->type_location).end.line)" ( (binary_expression "pcVar11 < (char *)(out->type_location).end.line" identifier < (cast_expression "(char *)(out->type_location).end.line" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(out->type_location).end.line" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n              (out->type_location).end.file = pcVar11 + 1;\n              *pcVar11 = '\n';\n            }" { (expression_statement "(out->type_location).end.file = pcVar11 + 1;" (assignment_expression "(out->type_location).end.file = pcVar11 + 1" (field_expression "(out->type_location).end.file" (field_expression "(out->type_location).end" (parenthesized_expression "(out->type_location)" ( (field_expression "out->type_location" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar11 = '\n';" (assignment_expression "*pcVar11 = '\n'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(out,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(out,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(out,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6->solved_conflicts,out)" ( (field_expression "unaff_s6->solved_conflicts" identifier -> field_identifier) , identifier ))) ;) })) (expression_statement "local_c0 = local_c0 + 1;" (assignment_expression "local_c0 = local_c0 + 1" identifier = (binary_expression "local_c0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)local_c0 < *(int *)puVar5)" ( (binary_expression "(int)local_c0 < *(int *)puVar5" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (expression_statement "pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0);" (assignment_expression "pbVar18 = *(bitset_conflict *)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(bitset_conflict *)(puVar1 + -0x1cf0)" * (cast_expression "(bitset_conflict *)(puVar1 + -0x1cf0)" ( (type_descriptor "bitset_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) })) (expression_statement "bitset_free(pbVar18);" (call_expression "bitset_free(pbVar18)" identifier (argument_list "(pbVar18)" ( identifier ))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" { (expression_statement "(*(code *)PTR_free_closure_0008d7f4)();" (call_expression "(*(code *)PTR_free_closure_0008d7f4)()" (parenthesized_expression "(*(code *)PTR_free_closure_0008d7f4)" ( (pointer_expression "*(code *)PTR_free_closure_0008d7f4" * (cast_expression "(code *)PTR_free_closure_0008d7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "xfclose((FILE *)out);" (call_expression "xfclose((FILE *)out)" identifier (argument_list "((FILE *)out)" ( (cast_expression "(FILE *)out" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (iVar10 == *(int *)puVar9) {\n        return;\n      }" if (parenthesized_expression "(iVar10 == *(int *)puVar9)" ( (binary_expression "iVar10 == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0008df68)();" (call_expression "(*(code *)PTR___stack_chk_fail_0008df68)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0008df68)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0008df68" * (cast_expression "(code *)PTR___stack_chk_fail_0008df68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0003ca90:\n      iVar32 = 3;" statement_identifier : (expression_statement "iVar32 = 3;" (assignment_expression "iVar32 = 3" identifier = number_literal) ;)) (labeled_statement "LAB_0003ca94:\n      uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);" statement_identifier : (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b0[0xa4].props + 1,5)" ( number_literal , (binary_expression "local_b0[0xa4].props + 1" (field_expression "local_b0[0xa4].props" (subscript_expression "local_b0[0xa4]" identifier [ number_literal ]) . field_identifier) + number_literal) , number_literal )))) ;)) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar12)" ( (cast_expression "(undefined *)((int)unaff_s8 + (int)unaff_s3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s8 + (int)unaff_s3" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , number_literal , identifier ))) ;) (if_statement "if (0 < unaff_s6->number) {\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }" if (parenthesized_expression "(0 < unaff_s6->number)" ( (binary_expression "0 < unaff_s6->number" number_literal < (field_expression "unaff_s6->number" identifier -> field_identifier)) )) (compound_statement "{\n        iVar16 = 0;\n        iVar25 = 0;\n        do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        } while (iVar25 < unaff_s6->number);" do (compound_statement "{\n          if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }\n          iVar25 = iVar25 + 1;\n          iVar16 = iVar16 + 0x60;\n          unaff_s3 = (rule **)PTR_rules_0008d784;\n        }" { (if_statement "if (*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)\n          {\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }" if (parenthesized_expression "(*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29)" ( (binary_expression "*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80) == prVar29" (pointer_expression "*(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80)" * (cast_expression "(reductions **)(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80)" ( (type_descriptor "reductions **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80)" ( (binary_expression "*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8) + 0x80" (pointer_expression "*(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8)" * (cast_expression "(int *)(*(int *)PTR_rules_0008d784 + iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rules_0008d784 + iVar16 + 8)" ( (binary_expression "*(int *)PTR_rules_0008d784 + iVar16 + 8" (binary_expression "*(int *)PTR_rules_0008d784 + iVar16" (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);\n            FUN_0003cae0();\n            return;\n          }" { (expression_statement "iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar32 + iVar10)) {\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" if (parenthesized_expression "(0x41 < (uint)(iVar32 + iVar10))" ( (binary_expression "0x41 < (uint)(iVar32 + iVar10)" number_literal < (call_expression "(uint)(iVar32 + iVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 + iVar10)" ( (binary_expression "iVar32 + iVar10" identifier + identifier) )))) )) (compound_statement "{\n              (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n              buffer[0] = '\0';\n              iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar10 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar10),1,0xffffffff,local_dc,iVar25)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar10)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar10)" ( (binary_expression "(int)unaff_s8 + iVar10" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "FUN_0003cae0();" (call_expression "FUN_0003cae0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar25 = iVar25 + 1;" (assignment_expression "iVar25 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar16 + 0x60;" (assignment_expression "iVar16 = iVar16 + 0x60" identifier = (binary_expression "iVar16 + 0x60" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (rule **)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (rule **)PTR_rules_0008d784" identifier = (cast_expression "(rule **)PTR_rules_0008d784" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) while (parenthesized_expression "(iVar25 < unaff_s6->number)" ( (binary_expression "iVar25 < unaff_s6->number" identifier < (field_expression "unaff_s6->number" identifier -> field_identifier)) )) ;) })) (if_statement "if (unaff_s4 != (state **)0x0) {\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }" if (parenthesized_expression "(unaff_s4 != (state **)0x0)" ( (binary_expression "unaff_s4 != (state **)0x0" identifier != (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;\nLAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }\n      }" { (expression_statement "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (expression_statement "*(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c;" (assignment_expression "*(undefined1 *)((int)unaff_s8 + iVar16) = 0x2c" (pointer_expression "*(undefined1 *)((int)unaff_s8 + iVar16)" * (cast_expression "(undefined1 *)((int)unaff_s8 + iVar16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar16)" ( (binary_expression "(int)unaff_s8 + iVar16" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0;" (assignment_expression "((undefined1 *)((int)unaff_s8 + iVar16))[1] = 0" (subscript_expression "((undefined1 *)((int)unaff_s8 + iVar16))[1]" (parenthesized_expression "((undefined1 *)((int)unaff_s8 + iVar16))" ( (cast_expression "(undefined1 *)((int)unaff_s8 + iVar16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar16)" ( (binary_expression "(int)unaff_s8 + iVar16" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )) [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003c910:\n        iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" statement_identifier : (expression_statement "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;)) (if_statement "if (0x41 < (uint)(iVar32 + iVar16)) {\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" if (parenthesized_expression "(0x41 < (uint)(iVar32 + iVar16))" ( (binary_expression "0x41 < (uint)(iVar32 + iVar16)" number_literal < (call_expression "(uint)(iVar32 + iVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 + iVar16)" ( (binary_expression "iVar32 + iVar16" identifier + identifier) )))) )) (compound_statement "{\n          iVar32 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n          buffer[0] = '\0';\n          iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" { (expression_statement "iVar32 = 3;" (assignment_expression "iVar32 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar16 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);" (assignment_expression "uVar12 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar16),1,0xffffffff,uVar12)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar16)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar16)" ( (binary_expression "(int)unaff_s8 + iVar16" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < unaff_s6->number) {\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }" if (parenthesized_expression "(0 < unaff_s6->number)" ( (binary_expression "0 < unaff_s6->number" number_literal < (field_expression "unaff_s6->number" identifier -> field_identifier)) )) (compound_statement "{\n          unaff_s4 = (state **)0x0;\n          iVar16 = 0;\n          do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);\n        }" { (expression_statement "unaff_s4 = (state **)0x0;" (assignment_expression "unaff_s4 = (state **)0x0" identifier = (cast_expression "(state **)0x0" ( (type_descriptor "state **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          } while (iVar16 < iVar25);" do (compound_statement "{\n            puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            prVar27 = (reductions *)*puVar26;\n            if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }\n            iVar16 = iVar16 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (rule **)puVar2;\n          }" { (expression_statement "puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);" (assignment_expression "puVar26 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" * (cast_expression "(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (binary_expression "(int)unaff_s4 + *(int *)puVar2 + 0xc" (binary_expression "(int)unaff_s4 + *(int *)puVar2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "prVar27 = (reductions *)*puVar26;" (assignment_expression "prVar27 = (reductions *)*puVar26" identifier = (cast_expression "(reductions *)*puVar26" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) (if_statement "if ((int)prVar27 < 0) {\n              iVar25 = unaff_s6->number;\n            }\n            else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }" if (parenthesized_expression "((int)prVar27 < 0)" ( (binary_expression "(int)prVar27 < 0" (cast_expression "(int)prVar27" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              iVar25 = unaff_s6->number;\n            }" { (expression_statement "iVar25 = unaff_s6->number;" (assignment_expression "iVar25 = unaff_s6->number" identifier = (field_expression "unaff_s6->number" identifier -> field_identifier)) ;) }) (else_clause "else {\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }" else (compound_statement "{\n              do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);\n              iVar25 = unaff_s6->number;\n            }" { (do_statement "do {\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              } while (-1 < (int)prVar27);" do (compound_statement "{\n                puVar26 = puVar26 + 1;\n                if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }\n                prVar27 = (reductions *)*puVar26;\n              }" { (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (if_statement "if (prVar27 == prVar29) {\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }" if (parenthesized_expression "(prVar27 == prVar29)" ( (binary_expression "prVar27 == prVar29" identifier == identifier) )) (compound_statement "{\n                  iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);\n                  break;\n                }" { (expression_statement "iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar32 + iVar25)) {\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" if (parenthesized_expression "(0x41 < (uint)(iVar32 + iVar25))" ( (binary_expression "0x41 < (uint)(iVar32 + iVar25)" number_literal < (call_expression "(uint)(iVar32 + iVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 + iVar25)" ( (binary_expression "iVar32 + iVar25" identifier + identifier) )))) )) (compound_statement "{\n                    iVar32 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);\n                    buffer[0] = '\0';\n                    iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" { (expression_statement "iVar32 = 3;" (assignment_expression "iVar32 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(out,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(out,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "buffer[0] = '\0';" (assignment_expression "buffer[0] = '\0'" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar25 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar25),1,0xffffffff,local_dc,iVar16)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar25)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar25)" ( (binary_expression "(int)unaff_s8 + iVar25" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "prVar27 = (reductions *)*puVar26;" (assignment_expression "prVar27 = (reductions *)*puVar26" identifier = (cast_expression "(reductions *)*puVar26" ( (type_descriptor "reductions *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ;) }) while (parenthesized_expression "(-1 < (int)prVar27)" ( (binary_expression "-1 < (int)prVar27" number_literal < (cast_expression "(int)prVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar25 = unaff_s6->number;" (assignment_expression "iVar25 = unaff_s6->number" identifier = (field_expression "unaff_s6->number" identifier -> field_identifier)) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s4 + 0x18;" (assignment_expression "unaff_s4 = unaff_s4 + 0x18" identifier = (binary_expression "unaff_s4 + 0x18" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (rule **)puVar2;" (assignment_expression "unaff_s3 = (rule **)puVar2" identifier = (cast_expression "(rule **)puVar2" ( (type_descriptor "rule **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) while (parenthesized_expression "(iVar16 < iVar25)" ( (binary_expression "iVar16 < iVar25" identifier < identifier) )) ;) })) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}\n\n" (function_definition "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" primitive_type (function_declarator "print_results(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "undefined *local_dc;" type_identifier (pointer_declarator "*local_dc" * identifier) ;) (declaration "int *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c4;" primitive_type (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "undefined *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "int *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "undefined *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int local_88 [23];" primitive_type (array_declarator "local_88 [23]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_0008df8c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_0008df8c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_LAB_0008d628;" (assignment_expression "puVar2 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0008df8c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0008df8c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0008df8c" * (cast_expression "(int *)PTR___stack_chk_guard_0008df8c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);" (assignment_expression "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier = (cast_expression "(undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" identifier (argument_list "(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" ( (pointer_expression "*(undefined4 *)PTR_spec_verbose_file_0008d8bc" * (cast_expression "(undefined4 *)PTR_spec_verbose_file_0008d8bc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_LAB_0008d628 + 0x4224" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_max_user_token_number_0008da2c;" (assignment_expression "puVar5 = PTR_max_user_token_number_0008da2c" identifier = identifier) ;) (expression_statement "reduce_output(puVar10);" (call_expression "reduce_output(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x7080,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7080" identifier + number_literal) , number_literal )))) ;) (expression_statement "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);" (call_expression "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" identifier (argument_list "(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" ( identifier , identifier , identifier ))) ;) (expression_statement "conflicts_output(puVar10);" (call_expression "conflicts_output(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "grammar_rules_print(puVar10);" (call_expression "grammar_rules_print(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70ac,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70ac" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar4 = PTR_undeftoken_0008da10;" (assignment_expression "puVar4 = PTR_undeftoken_0008da10" identifier = identifier) ;) (expression_statement "puVar1 = PTR_token_translations_0008d958;" (assignment_expression "puVar1 = PTR_token_translations_0008d958" identifier = identifier) ;) (expression_statement "puVar6 = PTR_DAT_0008d800;" (assignment_expression "puVar6 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (if_statement "if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" if (parenthesized_expression "(-1 < *(int *)puVar5)" ( (binary_expression "-1 < *(int *)puVar5" number_literal < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" { (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "puVar12 = PTR_LAB_0008d628 + 0x4d80" identifier = (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7100;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7100" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)PTR_LAB_0008d628;" (assignment_expression "local_c8 = (code *)PTR_LAB_0008d628" identifier = (cast_expression "(code *)PTR_LAB_0008d628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar14 = PTR_LAB_0008d628 + 0x176c;" (assignment_expression "puVar14 = PTR_LAB_0008d628 + 0x176c" identifier = (binary_expression "PTR_LAB_0008d628 + 0x176c" identifier + number_literal)) ;) (expression_statement "local_c0 = PTR_DAT_0008d800;" (assignment_expression "local_c0 = PTR_DAT_0008d800" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    }" { (while_statement "while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" { (expression_statement "puVar7 = PTR_symbols_0008d7a4;" (assignment_expression "puVar7 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "unaff_s4 = (int *)(iVar29 * 4);" (assignment_expression "unaff_s4 = (int *)(iVar29 * 4)" identifier = (cast_expression "(int *)(iVar29 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 * 4)" ( (binary_expression "iVar29 * 4" identifier * number_literal) )))) ;) (expression_statement "local_dc = puVar10;" (assignment_expression "local_dc = puVar10" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80))" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (pointer_expression "*(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" * (cast_expression "(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" ( (binary_expression "*(int *)(*(int *)puVar4 + 0x28) + 0x80" (pointer_expression "*(int *)(*(int *)puVar4 + 0x28)" * (cast_expression "(int *)(*(int *)puVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + 0x28)" ( (binary_expression "*(int *)puVar4 + 0x28" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);" (assignment_expression "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" identifier = (cast_expression "(int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (pointer_expression "*(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" * (cast_expression "(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" ( (binary_expression "*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)PTR_symbols_0008d7a4" * (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) ))))))) ;) (expression_statement "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);" (assignment_expression "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,puVar10)" ( identifier , identifier ))) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) })) (if_statement "if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" * (cast_expression "(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" ( (binary_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28" (pointer_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" * (cast_expression "(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" ( (binary_expression "*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" { (expression_statement "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);" (assignment_expression "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar6 + -0x4ae0)" ( identifier , number_literal , (binary_expression "puVar6 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (int *)((int)unaff_s6 + iVar15);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s6 + iVar15)" identifier = (cast_expression "(int *)((int)unaff_s6 + iVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar15)" ( (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) })) })) (expression_statement "puVar8 = PTR_nrules_0008d7c8;" (assignment_expression "puVar8 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" ( identifier , number_literal , number_literal , (binary_expression "puVar3 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar7 = PTR_rules_0008d784;" (assignment_expression "puVar7 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" if (parenthesized_expression "(0 < *(int *)puVar8)" ( (binary_expression "0 < *(int *)puVar8" number_literal < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" { (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" statement_identifier : (do_statement "do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" do (compound_statement "{\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          }" { (expression_statement "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);" (assignment_expression "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" identifier = (pointer_expression "*(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" * (cast_expression "(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + *(int *)puVar7 + 0xc)" ( (binary_expression "(int)unaff_s3 + *(int *)puVar7 + 0xc" (binary_expression "(int)unaff_s3 + *(int *)puVar7" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar7" * (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "unaff_s8 = (int *)puVar7;" (assignment_expression "unaff_s8 = (int *)puVar7" identifier = (cast_expression "(int *)puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" if (parenthesized_expression "(-1 < iVar23)" ( (binary_expression "-1 < iVar23" number_literal < identifier) )) (compound_statement "{\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" { (do_statement "do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);" do (compound_statement "{\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              }" { (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" if (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23)" ( (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" * (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" ( (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == identifier) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" if (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23))" ( (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)" (cast_expression "(undefined *)0x41" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined *)((int)unaff_s6 + iVar23)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar23)" ( (binary_expression "(int)unaff_s6 + iVar23" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" { (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_88)" ( identifier )))) ;) })) (expression_statement "iVar28 = iVar15 + 1;" (assignment_expression "iVar28 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" ( (binary_expression "(int)local_88 + iVar23" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) , number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar28;" (assignment_expression "iVar15 = iVar28" identifier = identifier) ;) (if_statement "if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;" if (parenthesized_expression "(iVar28 < *(int *)puVar8)" ( (binary_expression "iVar28 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003b85c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b8bc;" goto statement_identifier ;) })) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) }) while (parenthesized_expression "(-1 < iVar23)" ( (binary_expression "-1 < iVar23" number_literal < identifier) )) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" identifier = (binary_expression "unaff_s3 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 < *(int *)puVar8)" ( (binary_expression "iVar15 < *(int *)puVar8" identifier < (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;)) })) (labeled_statement "LAB_0003b8bc:\n        iVar29 = iVar29 + 1;" statement_identifier : (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar14,local_88)" ( identifier , number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;" if (parenthesized_expression "(*(int *)puVar5 < iVar29)" ( (binary_expression "*(int *)puVar5 < iVar29" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_0003b8ec;" goto statement_identifier ;)) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 <= *(int *)puVar5)" ( (binary_expression "iVar29 <= *(int *)puVar5" identifier <= (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;" statement_identifier : (expression_statement "puVar1 = PTR_nsyms_0008d7bc;" (assignment_expression "puVar1 = PTR_nsyms_0008d7bc" identifier = identifier) ;)) (expression_statement "puVar6 = PTR_ntokens_0008d77c;" (assignment_expression "puVar6 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_c4 = (int *)PTR_nsyms_0008d7bc;" (assignment_expression "local_c4 = (int *)PTR_nsyms_0008d7bc" identifier = (cast_expression "(int *)PTR_nsyms_0008d7bc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" ( (binary_expression "PTR_LAB_0008d628 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x70d4,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x70d4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" ( identifier , number_literal , (binary_expression "puVar2 + 0x37a8" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar16 = *(int **)puVar6;" (assignment_expression "piVar16 = *(int **)puVar6" identifier = (pointer_expression "*(int **)puVar6" * (cast_expression "(int **)puVar6" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;" if (parenthesized_expression "(*(int *)puVar1 <= (int)piVar16)" ( (binary_expression "*(int *)puVar1 <= (int)piVar16" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bb54;" goto statement_identifier ;)) (expression_statement "local_d8 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "local_d8 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = local_88;" (assignment_expression "unaff_s8 = local_88" identifier = identifier) ;) (expression_statement "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);" (assignment_expression "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c)" identifier = (cast_expression "(int *)(PTR_LAB_0008d628 + 0x711c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x711c)" ( (binary_expression "PTR_LAB_0008d628 + 0x711c" identifier + number_literal) )))) ;) (expression_statement "local_c0 = PTR_LAB_0008d628;" (assignment_expression "local_c0 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_dc = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "local_dc = PTR_LAB_0008d628 + 0x4d80" identifier = (binary_expression "PTR_LAB_0008d628 + 0x4d80" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100)" identifier = (cast_expression "(code *)(PTR_LAB_0008d628 + 0x7100)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7100)" ( (binary_expression "PTR_LAB_0008d628 + 0x7100" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "local_b8 = PTR_DAT_0008d800;" (assignment_expression "local_b8 = PTR_DAT_0008d800" identifier = identifier) ;) (expression_statement "local_b0 = PTR_LAB_0008d628;" (assignment_expression "local_b0 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "unaff_s6 = (int *)PTR_nrules_0008d7c8;" (assignment_expression "unaff_s6 = (int *)PTR_nrules_0008d7c8" identifier = (cast_expression "(int *)PTR_nrules_0008d7c8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );" do (compound_statement "{\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  }" { (expression_statement "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);" (assignment_expression "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4)" identifier = (pointer_expression "**(undefined4 **)(*local_d8 + (int)piVar16 * 4)" * (pointer_expression "*(undefined4 **)(*local_d8 + (int)piVar16 * 4)" * (cast_expression "(undefined4 **)(*local_d8 + (int)piVar16 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" ( (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (if_statement "if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" if (parenthesized_expression "(*unaff_s6 < 1)" ( (binary_expression "*unaff_s6 < 1" (pointer_expression "*unaff_s6" * identifier) < number_literal) )) (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" else (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = *(int *)PTR_rules_0008d784;" (assignment_expression "iVar23 = *(int *)PTR_rules_0008d784" identifier = (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar28 = *unaff_s6 * 0x60 + iVar23;" (assignment_expression "iVar28 = *unaff_s6 * 0x60 + iVar23" identifier = (binary_expression "*unaff_s6 * 0x60 + iVar23" (binary_expression "*unaff_s6 * 0x60" (pointer_expression "*unaff_s6" * identifier) * number_literal) + identifier)) ;) (do_statement "do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);" do (compound_statement "{\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      }" { (if_statement "if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }" if (parenthesized_expression "(*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16)" ( (binary_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80)" * (cast_expression "(int **)(*(int *)(iVar23 + 8) + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar23 + 8) + 0x80)" ( (binary_expression "*(int *)(iVar23 + 8) + 0x80" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar15 = iVar15 + 1;\n        }" { (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar24 = *(int **)(iVar23 + 0xc);" (assignment_expression "piVar24 = *(int **)(iVar23 + 0xc)" identifier = (pointer_expression "*(int **)(iVar23 + 0xc)" * (cast_expression "(int **)(iVar23 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) (while_statement "while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" while (parenthesized_expression "(-1 < (int)piVar26)" ( (binary_expression "-1 < (int)piVar26" number_literal < (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" { (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) (if_statement "if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" if (parenthesized_expression "(piVar26 == piVar16)" ( (binary_expression "piVar26 == piVar16" identifier == identifier) )) (compound_statement "{\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" { (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" identifier = (cast_expression "(int *)((int)unaff_s4 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (break_statement "break;" break ;) })) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" identifier = (cast_expression "(int *)*piVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) ;) })) (expression_statement "iVar23 = iVar23 + 0x60;" (assignment_expression "iVar23 = iVar23 + 0x60" identifier = (binary_expression "iVar23 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar28 != iVar23)" ( (binary_expression "iVar28 != iVar23" identifier != identifier) )) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,puVar10)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0)" ( (binary_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" ( (binary_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" * (cast_expression "(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" ( (binary_expression "*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28" (pointer_expression "*(int *)(*local_d8 + (int)piVar16 * 4)" * (cast_expression "(int *)(*local_d8 + (int)piVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" ( (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" * identifier) + (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" { (expression_statement "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);" (assignment_expression "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" identifier = (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_b8 + -0x4ae0)" ( identifier , number_literal , (binary_expression "local_b8 + -0x4ae0" identifier + number_literal) )))) ;) (expression_statement "iVar29 = iVar29 + iVar23;" (assignment_expression "iVar29 = iVar29 + iVar23" identifier = (binary_expression "iVar29 + iVar23" identifier + identifier)) ;) })) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" ( identifier , number_literal , number_literal , (binary_expression "local_c0 + 0x7108" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" if (parenthesized_expression "((int)unaff_s3 + iVar29 == 0)" ( (binary_expression "(int)unaff_s3 + iVar29 == 0" (binary_expression "(int)unaff_s3 + iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) == number_literal) )) (compound_statement "{\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }" { (if_statement "if (iVar15 != 0) goto LAB_0003ca94;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003ca94;" goto statement_identifier ;)) }) (else_clause "else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" else (compound_statement "{\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" { (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (if_statement "if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;" if (parenthesized_expression "((int)unaff_s3 + 3U < 0x42)" ( (binary_expression "(int)unaff_s3 + 3U < 0x42" (binary_expression "(int)unaff_s3 + 3U" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) < number_literal) )) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))))) ;) (goto_statement "goto LAB_0003ca90;" goto statement_identifier ;) })) (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) }))) (if_statement "if (unaff_s4 != (int *)0x0) goto LAB_0003c910;" if (parenthesized_expression "(unaff_s4 != (int *)0x0)" ( (binary_expression "unaff_s4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c910;" goto statement_identifier ;)) (while_statement "while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" { (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + 1)" ( (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc + 0x176c,unaff_s8)" ( identifier , number_literal , (binary_expression "local_bc + 0x176c" identifier + number_literal) , identifier ))) ;) (if_statement "if ((int)piVar16 < *local_c4) break;" if (parenthesized_expression "((int)piVar16 < *local_c4)" ( (binary_expression "(int)piVar16 < *local_c4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*local_c4" * identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;" statement_identifier : (expression_statement "puVar2 = PTR_report_flag_0008d71c;" (assignment_expression "puVar2 = PTR_report_flag_0008d71c" identifier = identifier) ;)) (expression_statement "local_c4 = (int *)PTR_report_flag_0008d71c;" (assignment_expression "local_c4 = (int *)PTR_report_flag_0008d71c" identifier = (cast_expression "(int *)PTR_report_flag_0008d71c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" if (parenthesized_expression "((*(uint *)PTR_report_flag_0008d71c & 2) != 0)" ( (binary_expression "(*(uint *)PTR_report_flag_0008d71c & 2) != 0" (parenthesized_expression "(*(uint *)PTR_report_flag_0008d71c & 2)" ( (binary_expression "*(uint *)PTR_report_flag_0008d71c & 2" (pointer_expression "*(uint *)PTR_report_flag_0008d71c" * (cast_expression "(uint *)PTR_report_flag_0008d71c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" { (expression_statement "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);" (call_expression "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0)" (parenthesized_expression "(*(code *)PTR_new_closure_0008d7d4)" ( (pointer_expression "*(code *)PTR_new_closure_0008d7d4" * (cast_expression "(code *)PTR_new_closure_0008d7d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_nritems_0008d7d0)" ( (pointer_expression "*(undefined4 *)PTR_nritems_0008d7d0" * (cast_expression "(undefined4 *)PTR_nritems_0008d7d0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "puVar5 = PTR_nstates_0008d698;" (assignment_expression "puVar5 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" identifier = identifier) ;) (expression_statement "local_d8 = (int *)PTR_DAT_0008d618;" (assignment_expression "local_d8 = (int *)PTR_DAT_0008d618" identifier = (cast_expression "(int *)PTR_DAT_0008d618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar11 = bitset_create(*(undefined4 *)puVar6,1);" (assignment_expression "uVar11 = bitset_create(*(undefined4 *)puVar6,1)" identifier = (call_expression "bitset_create(*(undefined4 *)puVar6,1)" identifier (argument_list "(*(undefined4 *)puVar6,1)" ( (pointer_expression "*(undefined4 *)puVar6" * (cast_expression "(undefined4 *)puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (expression_statement "iVar29 = *(int *)puVar5;" (assignment_expression "iVar29 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11;" (assignment_expression "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11" (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar12 = PTR_states_0008d7f8;" (assignment_expression "puVar12 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_LAB_0008d628;" (assignment_expression "puVar4 = PTR_LAB_0008d628" identifier = identifier) ;) (expression_statement "piVar16 = (int *)puVar5;" (assignment_expression "piVar16 = (int *)puVar5" identifier = (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" { (expression_statement "local_c0 = (undefined *)0x0;" (assignment_expression "local_c0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);" (assignment_expression "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4cdc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4cdc)" ( (binary_expression "PTR_LAB_0008db4c + -0x4cdc" identifier + number_literal) )))) ;) (expression_statement "local_bc = PTR_DAT_0008d800 + -0x4654;" (assignment_expression "local_bc = PTR_DAT_0008d800 + -0x4654" identifier = (binary_expression "PTR_DAT_0008d800 + -0x4654" identifier + number_literal)) ;) (expression_statement "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10)" identifier = (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4f10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008db4c + -0x4f10)" ( (binary_expression "PTR_LAB_0008db4c + -0x4f10" identifier + number_literal) )))) ;) (do_statement "do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);" do (compound_statement "{\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        }" { (expression_statement "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);" (assignment_expression "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4)" identifier = (pointer_expression "*(int **)(*(int *)puVar12 + (int)local_c0 * 4)" * (cast_expression "(int **)(*(int *)puVar12 + (int)local_c0 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar12 + (int)local_c0 * 4)" ( (binary_expression "*(int *)puVar12 + (int)local_c0 * 4" (pointer_expression "*(int *)puVar12" * (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)local_c0 * 4" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + 0x4938,1,2,puVar10)" ( (binary_expression "puVar3 + 0x4938" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4 + 0x7128,5)" ( number_literal , (binary_expression "puVar4 + 0x7128" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,uVar11,*unaff_s6)" ( identifier , number_literal , identifier , (pointer_expression "*unaff_s6" * identifier) ))) ;) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" else (compound_statement "{\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "piVar24 = unaff_s6 + 10;" (assignment_expression "piVar24 = unaff_s6 + 10" identifier = (binary_expression "unaff_s6 + 10" identifier + number_literal)) ;) (expression_statement "piVar16 = (int *)unaff_s6[9];" (assignment_expression "piVar16 = (int *)unaff_s6[9]" identifier = (cast_expression "(int *)unaff_s6[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[9]" identifier [ number_literal ]))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" { (expression_statement "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);" (call_expression "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16)" (parenthesized_expression "(*(code *)PTR_closure_0008d7dc)" ( (pointer_expression "*(code *)PTR_closure_0008d7dc" * (cast_expression "(code *)PTR_closure_0008d7dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar24,piVar16)" ( identifier , identifier ))) ;) (expression_statement "piVar24 = *(int **)PTR_itemset_0008d7e4;" (assignment_expression "piVar24 = *(int **)PTR_itemset_0008d7e4" identifier = (pointer_expression "*(int **)PTR_itemset_0008d7e4" * (cast_expression "(int **)PTR_itemset_0008d7e4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar16 = *(int **)PTR_nitemset_0008d7d8;" (assignment_expression "piVar16 = *(int **)PTR_nitemset_0008d7d8" identifier = (pointer_expression "*(int **)PTR_nitemset_0008d7d8" * (cast_expression "(int **)PTR_nitemset_0008d7d8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "unaff_s8 = piVar16;" (assignment_expression "unaff_s8 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" if (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" identifier = (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = (int *)PTR_ritem_0008d780;" (assignment_expression "unaff_s8 = (int *)PTR_ritem_0008d780" identifier = (cast_expression "(int *)PTR_ritem_0008d780" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar16 = piVar24 + (int)piVar16;" (assignment_expression "piVar16 = piVar24 + (int)piVar16" identifier = (binary_expression "piVar24 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b8 = PTR_LAB_0008d628 + 0x7138;" (assignment_expression "local_b8 = PTR_LAB_0008d628 + 0x7138" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7138" identifier + number_literal)) ;) (do_statement "do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);" do (compound_statement "{\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            }" { (expression_statement "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);" (assignment_expression "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4)" identifier = (cast_expression "(uint *)(*unaff_s8 + *piVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*unaff_s8 + *piVar24 * 4)" ( (binary_expression "*unaff_s8 + *piVar24 * 4" (pointer_expression "*unaff_s8" * identifier) + (binary_expression "*piVar24 * 4" (pointer_expression "*piVar24" * identifier) * number_literal)) )))) ;) (expression_statement "uVar30 = *puVar27;" (assignment_expression "uVar30 = *puVar27" identifier = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "puVar31 = puVar27;" (assignment_expression "puVar31 = puVar27" identifier = identifier) ;) (while_statement "while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" while (parenthesized_expression "(-1 < (int)uVar30)" ( (binary_expression "-1 < (int)uVar30" number_literal < (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" { (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) })) (expression_statement "iVar29 = ~uVar30 * 0x60;" (assignment_expression "iVar29 = ~uVar30 * 0x60" identifier = (binary_expression "~uVar30 * 0x60" (unary_expression "~uVar30" ~ identifier) * number_literal)) ;) (expression_statement "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);" (call_expression "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10)" identifier (argument_list "(*unaff_s3 + iVar29,local_dc,puVar10)" ( (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) , identifier , identifier ))) ;) (expression_statement "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);" (assignment_expression "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc)" identifier = (pointer_expression "*(uint **)(*unaff_s3 + iVar29 + 0xc)" * (cast_expression "(uint **)(*unaff_s3 + iVar29 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" ( (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) ;) (expression_statement "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);" (assignment_expression "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8)" identifier = (pointer_expression "*(undefined **)(*unaff_s3 + iVar29 + 8)" * (cast_expression "(undefined **)(*unaff_s3 + iVar29 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 8)" ( (binary_expression "*unaff_s3 + iVar29 + 8" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) ;) (expression_statement "puVar32 = puVar31;" (assignment_expression "puVar32 = puVar31" identifier = identifier) ;) (if_statement "if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" if (parenthesized_expression "(puVar31 < puVar27)" ( (binary_expression "puVar31 < puVar27" identifier < identifier) )) (compound_statement "{\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" { (do_statement "do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);" do (compound_statement "{\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                }" { (expression_statement "puVar33 = puVar32 + 1;" (assignment_expression "puVar33 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(*unaff_s4 + *puVar32 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + *puVar32 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + *puVar32 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + *puVar32 * 4)" ( (binary_expression "*unaff_s4 + *puVar32 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "*puVar32 * 4" (pointer_expression "*puVar32" * identifier) * number_literal)) ))))) ))) ;) (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" identifier = identifier) ;) }) while (parenthesized_expression "(puVar33 < puVar27)" ( (binary_expression "puVar33 < puVar27" identifier < identifier) )) ;) (expression_statement "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;" (assignment_expression "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" identifier = (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" identifier + (parenthesized_expression "((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" ( (binary_expression "(uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2" (call_expression "(uint)((int)puVar27 + (-1 - (int)puVar31))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar27 + (-1 - (int)puVar31))" ( (binary_expression "(int)puVar27 + (-1 - (int)puVar31)" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-1 - (int)puVar31)" ( (binary_expression "-1 - (int)puVar31" number_literal - (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) ))) + number_literal)) ;) })) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" * (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4 + 0x7134,1,2,puVar10)" ( (binary_expression "puVar4 + 0x7134" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" if (parenthesized_expression "(**(int **)(*unaff_s3 + iVar29 + 0xc) < 0)" ( (binary_expression "**(int **)(*unaff_s3 + iVar29 + 0xc) < 0" (pointer_expression "**(int **)(*unaff_s3 + iVar29 + 0xc)" * (pointer_expression "*(int **)(*unaff_s3 + iVar29 + 0xc)" * (cast_expression "(int **)(*unaff_s3 + iVar29 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" ( (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) + number_literal) ))))) < number_literal) )) (compound_statement "{\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }" { (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_b8)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" else (compound_statement "{\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" { (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (while_statement "while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" while (parenthesized_expression "(-1 < (int)uVar30)" ( (binary_expression "-1 < (int)uVar30" number_literal < (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" { (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" ( identifier , number_literal , identifier , (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar30 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar30 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar30 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar30 * 4)" ( (binary_expression "*unaff_s4 + uVar30 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar30 * 4" identifier * number_literal)) ))))) ))) ;) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) })) }))) (if_statement "if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" if (parenthesized_expression "(((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27))" ( (binary_expression "((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)" (parenthesized_expression "((*(uint *)puVar2 & 4) == 0)" ( (binary_expression "(*(uint *)puVar2 & 4) == 0" (parenthesized_expression "(*(uint *)puVar2 & 4)" ( (binary_expression "*(uint *)puVar2 & 4" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) || (parenthesized_expression "(-1 < (int)*puVar27)" ( (binary_expression "-1 < (int)*puVar27" number_literal < (cast_expression "(int)*puVar27" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar27" * identifier))) ))) )) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0003be58;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);" statement_identifier : (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;)) }) (else_clause "else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" else (compound_statement "{\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" { (expression_statement "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);" (call_expression "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10)" identifier (argument_list "(unaff_s6,*unaff_s3 + iVar29,puVar10)" ( identifier , (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" * identifier) + identifier) , identifier ))) ;) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;" if (parenthesized_expression "(*(undefined1 **)(puVar10 + 0x18) <= puVar22)" ( (binary_expression "*(undefined1 **)(puVar10 + 0x18) <= puVar22" (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;)) (labeled_statement "LAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" statement_identifier : (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }))) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar16 != piVar24)" ( (binary_expression "piVar16 != piVar24" identifier != identifier) )) ;) })) (expression_statement "(*pcVar17)(unaff_s6[2],puVar10,1);" (call_expression "(*pcVar17)(unaff_s6[2],puVar10,1)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(unaff_s6[2],puVar10,1)" ( (subscript_expression "unaff_s6[2]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "piVar16 = (int *)unaff_s6[4];" (assignment_expression "piVar16 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (expression_statement "piVar24 = (int *)*piVar16;" (assignment_expression "piVar24 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (if_statement "if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" if (parenthesized_expression "(0 < (int)piVar24)" ( (binary_expression "0 < (int)piVar24" number_literal < (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" { (expression_statement "piVar26 = piVar16 + 1;" (assignment_expression "piVar26 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = piVar26;" (assignment_expression "unaff_s3 = piVar26" identifier = identifier) ;) (do_statement "do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);" do (compound_statement "{\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            }" { (if_statement "if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }" if (parenthesized_expression "(((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 ))" ( (binary_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" (parenthesized_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*unaff_s3 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" ( (comma_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18" (assignment_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)*unaff_s3)" ( (pointer_expression "*(undefined4 *)*unaff_s3" * (cast_expression "(undefined4 *)*unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier))) )))) , (binary_expression "uVar30 < uVar18" identifier < identifier)) ))) )) (compound_statement "{\n                uVar30 = uVar18;\n              }" { (expression_statement "uVar30 = uVar18;" (assignment_expression "uVar30 = uVar18" identifier = identifier) ;) })) (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" identifier = (cast_expression "(int *)((int)unaff_s4 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s4 != piVar24)" ( (binary_expression "unaff_s4 != piVar24" identifier != identifier) )) ;) (if_statement "if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" if (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) )) (compound_statement "{\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" else (compound_statement "{\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (if_statement "if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" { (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7028;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7028" identifier = (binary_expression "PTR_LAB_0008d628 + 0x7028" identifier + number_literal)) ;) (expression_statement "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);" (assignment_expression "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144)" identifier = (cast_expression "(int *)(PTR_LAB_0008d628 + 0x7144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0008d628 + 0x7144)" ( (binary_expression "PTR_LAB_0008d628 + 0x7144" identifier + number_literal) )))) ;) (do_statement "do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);" do (compound_statement "{\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                }" { (while_statement "while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" while (parenthesized_expression "((undefined4 *)*piVar26 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*piVar26 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" { (expression_statement "uVar11 = *(undefined4 *)*piVar26;" (assignment_expression "uVar11 = *(undefined4 *)*piVar26" identifier = (pointer_expression "*(undefined4 *)*piVar26" * (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier)))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,puVar13,uVar11)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "unaff_s8 = (int *)((uVar30 + 2) - iVar29);" (assignment_expression "unaff_s8 = (int *)((uVar30 + 2) - iVar29)" identifier = (cast_expression "(int *)((uVar30 + 2) - iVar29)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar30 + 2) - iVar29)" ( (binary_expression "(uVar30 + 2) - iVar29" (parenthesized_expression "(uVar30 + 2)" ( (binary_expression "uVar30 + 2" identifier + number_literal) )) - identifier) )))) ;) (if_statement "if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" { (do_statement "do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);" do (compound_statement "{\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 0x20;" (assignment_expression "*puVar22 = 0x20" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" else (compound_statement "{\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,0x20);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,0x20)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "unaff_s8 = (int *)((int)unaff_s8 + -1);" (assignment_expression "unaff_s8 = (int *)((int)unaff_s8 + -1)" identifier = (cast_expression "(int *)((int)unaff_s8 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + -1)" ( (binary_expression "(int)unaff_s8 + -1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s8 != (int *)0x0)" ( (binary_expression "unaff_s8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,puVar10)" ( identifier , identifier ))) ;) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (if_statement "if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;" if (parenthesized_expression "(iVar29 <= (int)unaff_s3)" ( (binary_expression "iVar29 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003bfe0;" goto statement_identifier ;)) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar29)" ( (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) })) })) (labeled_statement "LAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];" statement_identifier : (expression_statement "piVar16 = (int *)unaff_s6[3];" (assignment_expression "piVar16 = (int *)unaff_s6[3]" identifier = (cast_expression "(int *)unaff_s6[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[3]" identifier [ number_literal ]))) ;)) (if_statement "if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" if (parenthesized_expression "(*piVar16 == 0)" ( (binary_expression "*piVar16 == 0" (pointer_expression "*piVar16" * identifier) == number_literal) )) (compound_statement "{\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }" { (labeled_statement "LAB_0003c4e4:\n            iVar29 = unaff_s6[2];" statement_identifier : (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" identifier = (subscript_expression "unaff_s6[2]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" else (compound_statement "{\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" { (expression_statement "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);" (assignment_expression "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" * (cast_expression "(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" ( (binary_expression "*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4" (pointer_expression "*(int *)PTR_yydefact_0008d968" * (cast_expression "(int *)PTR_yydefact_0008d968" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "*unaff_s6 * 4" (pointer_expression "*unaff_s6" * identifier) * number_literal)) ))))) ;) (if_statement "if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n              local_dc = (undefined *)0x0;\n            }" { (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" else (compound_statement "{\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" { (expression_statement "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);" (assignment_expression "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" identifier = (cast_expression "(undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" ( (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60" (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60" (pointer_expression "*(int *)PTR_rules_0008d784" * (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar29 * 0x60" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" identifier = (cast_expression "(int *)PTR_rules_0008d784" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "piVar24 = (int *)unaff_s6[2];" (assignment_expression "piVar24 = (int *)unaff_s6[2]" identifier = (cast_expression "(int *)unaff_s6[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[2]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));" (call_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0))" (parenthesized_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))" ( (pointer_expression "**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (pointer_expression "*(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" * (cast_expression "(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar1 + -0x1cf0) + 0x24)" ( (binary_expression "**(int **)(puVar1 + -0x1cf0) + 0x24" (pointer_expression "**(int **)(puVar1 + -0x1cf0)" * (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(puVar1 + -0x1cf0))" ( (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) )))) ))) ;) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" if (parenthesized_expression "(0 < iVar29)" ( (binary_expression "0 < iVar29" number_literal < identifier) )) (compound_statement "{\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" { (expression_statement "unaff_s4 = piVar24 + 1;" (assignment_expression "unaff_s4 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" statement_identifier : (do_statement "do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" do (compound_statement "{\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              }" { (if_statement "if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" if (parenthesized_expression "(*unaff_s4 != 0)" ( (binary_expression "*unaff_s4 != 0" (pointer_expression "*unaff_s4" * identifier) != number_literal) )) (compound_statement "{\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" { (expression_statement "uVar30 = *(uint *)(*unaff_s4 + 4);" (assignment_expression "uVar30 = *(uint *)(*unaff_s4 + 4)" identifier = (pointer_expression "*(uint *)(*unaff_s4 + 4)" * (cast_expression "(uint *)(*unaff_s4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*unaff_s4 + 4)" ( (binary_expression "*unaff_s4 + 4" (pointer_expression "*unaff_s4" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)puVar6 <= (int)uVar30) break;" if (parenthesized_expression "(*(int *)puVar6 <= (int)uVar30)" ( (binary_expression "*(int *)puVar6 <= (int)uVar30" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = (uVar30 >> 5) - puVar25[1];" (assignment_expression "uVar18 = (uVar30 >> 5) - puVar25[1]" identifier = (binary_expression "(uVar30 >> 5) - puVar25[1]" (parenthesized_expression "(uVar30 >> 5)" ( (binary_expression "uVar30 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar25[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" if (parenthesized_expression "((uint)puVar25[2] <= uVar18)" ( (binary_expression "(uint)puVar25[2] <= uVar18" (cast_expression "(uint)puVar25[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar25[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" { (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" ( (pointer_expression "**(code **)*puVar25" * (pointer_expression "*(code **)*puVar25" * (cast_expression "(code **)*puVar25" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (iVar29 <= (int)unaff_s3) break;" if (parenthesized_expression "(iVar29 <= (int)unaff_s3)" ( (binary_expression "iVar29 <= (int)unaff_s3" identifier <= (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c088;" goto statement_identifier ;) })) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar18 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar18 * 4)" identifier = (cast_expression "(uint *)(puVar25[3] + uVar18 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25[3] + uVar18 * 4)" ( (binary_expression "puVar25[3] + uVar18 * 4" (subscript_expression "puVar25[3]" identifier [ number_literal ]) + (binary_expression "uVar18 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" * identifier) = (binary_expression "*puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" * identifier) | (binary_expression "1 << (uVar30 & 0x1f)" number_literal << (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < iVar29)" ( (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;)) })) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" if (parenthesized_expression "(0 < *piVar24)" ( (binary_expression "0 < *piVar24" number_literal < (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" { (labeled_statement "LAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" statement_identifier : (do_statement "do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" do (compound_statement "{\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              }" { (if_statement "if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" if (parenthesized_expression "(piVar24[iVar29 + 1] != 0)" ( (binary_expression "piVar24[iVar29 + 1] != 0" (subscript_expression "piVar24[iVar29 + 1]" identifier [ (binary_expression "iVar29 + 1" identifier + number_literal) ]) != number_literal) )) (compound_statement "{\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" { (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);" (assignment_expression "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" identifier = (pointer_expression "*(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" * (cast_expression "(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" ( (binary_expression "*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80" (pointer_expression "*(int *)(piVar24[iVar29 + 1] + 0x28)" * (cast_expression "(int *)(piVar24[iVar29 + 1] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[iVar29 + 1] + 0x28)" ( (binary_expression "piVar24[iVar29 + 1] + 0x28" (subscript_expression "piVar24[iVar29 + 1]" identifier [ (binary_expression "iVar29 + 1" identifier + number_literal) ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar30 = (uVar18 >> 5) - puVar25[1];" (assignment_expression "uVar30 = (uVar18 >> 5) - puVar25[1]" identifier = (binary_expression "(uVar18 >> 5) - puVar25[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "puVar25[1]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" if (parenthesized_expression "((uint)puVar25[2] <= uVar30)" ( (binary_expression "(uint)puVar25[2] <= uVar30" (cast_expression "(uint)puVar25[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar25[2]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" { (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" ( (pointer_expression "**(code **)*puVar25" * (pointer_expression "*(code **)*puVar25" * (cast_expression "(code **)*puVar25" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar25" * identifier)))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" identifier = (cast_expression "(int *)unaff_s6[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s6[4]" identifier [ number_literal ]))) ;) (if_statement "if (*piVar24 <= iVar29) break;" if (parenthesized_expression "(*piVar24 <= iVar29)" ( (binary_expression "*piVar24 <= iVar29" (pointer_expression "*piVar24" * identifier) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0003c138;" goto statement_identifier ;) })) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar30 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar30 * 4)" identifier = (cast_expression "(uint *)(puVar25[3] + uVar30 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25[3] + uVar30 * 4)" ( (binary_expression "puVar25[3] + uVar30 * 4" (subscript_expression "puVar25[3]" identifier [ number_literal ]) + (binary_expression "uVar30 * 4" identifier * number_literal)) )))) ;) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" * identifier) = (binary_expression "*puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" * identifier) | (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))))) ;) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 < *piVar24)" ( (binary_expression "iVar29 < *piVar24" identifier < (pointer_expression "*piVar24" * identifier)) )) ;)) })) (if_statement "if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" if (parenthesized_expression "(local_dc != (undefined *)0x0)" ( (binary_expression "local_dc != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (if_statement "if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" if (parenthesized_expression "((piVar16[1] != 0) && (0 < *(int *)puVar6))" ( (binary_expression "(piVar16[1] != 0) && (0 < *(int *)puVar6)" (parenthesized_expression "(piVar16[1] != 0)" ( (binary_expression "piVar16[1] != 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" { (labeled_statement "LAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;" statement_identifier : (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" identifier = (cast_expression "(int *)PTR_symbols_0008d7a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (do_statement "do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);" do (compound_statement "{\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                }" { (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = (uVar18 >> 5) - piVar24[1];" (assignment_expression "uVar19 = (uVar18 >> 5) - piVar24[1]" identifier = (binary_expression "(uVar18 >> 5) - piVar24[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar24[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" if (parenthesized_expression "(uVar19 < (uint)piVar24[2])" ( (binary_expression "uVar19 < (uint)piVar24[2]" identifier < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }" { (expression_statement "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + uVar19 * 4)" * (cast_expression "(uint *)(piVar24[3] + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + uVar19 * 4)" ( (binary_expression "piVar24[3] + uVar19 * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" else (compound_statement "{\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" { (expression_statement "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);" (assignment_expression "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar18)" ( identifier , identifier )))) ;) }))) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "piVar24 = piVar16 + 2;" (assignment_expression "piVar24 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s3 = piVar24;" (assignment_expression "unaff_s3 = piVar24" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" if (parenthesized_expression "(0 < (int)unaff_s8)" ( (binary_expression "0 < (int)unaff_s8" number_literal < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" { (expression_statement "local_b8 = (undefined *)(uVar18 & 0x1f);" (assignment_expression "local_b8 = (undefined *)(uVar18 & 0x1f)" identifier = (cast_expression "(undefined *)(uVar18 & 0x1f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);" do (compound_statement "{\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    }" { (expression_statement "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);" (assignment_expression "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4)" identifier = (pointer_expression "*(int **)(piVar16[1] + (int)unaff_s3 * 4)" * (cast_expression "(int **)(piVar16[1] + (int)unaff_s3 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar16[1] + (int)unaff_s3 * 4)" ( (binary_expression "piVar16[1] + (int)unaff_s3 * 4" (subscript_expression "piVar16[1]" identifier [ number_literal ]) + (binary_expression "(int)unaff_s3 * 4" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar20 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar20 = (uVar18 >> 5) - piVar26[1]" identifier = (binary_expression "(uVar18 >> 5) - piVar26[1]" (parenthesized_expression "(uVar18 >> 5)" ( (binary_expression "uVar18 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar26[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" if (parenthesized_expression "(uVar20 < (uint)piVar26[2])" ( (binary_expression "uVar20 < (uint)piVar26[2]" identifier < (cast_expression "(uint)piVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar26[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }" { (expression_statement "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" identifier = (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8" (pointer_expression "*(uint *)(piVar26[3] + uVar20 * 4)" * (cast_expression "(uint *)(piVar26[3] + uVar20 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[3] + uVar20 * 4)" ( (binary_expression "piVar26[3] + uVar20 * 4" (subscript_expression "piVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar20 * 4" identifier * number_literal)) )))) >> (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" else (compound_statement "{\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" { (expression_statement "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" identifier = (call_expression "(**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" (parenthesized_expression "(**(code **)(*piVar26 + 0xc))" ( (pointer_expression "**(code **)(*piVar26 + 0xc)" * (pointer_expression "*(code **)(*piVar26 + 0xc)" * (cast_expression "(code **)(*piVar26 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar26 + 0xc)" ( (binary_expression "*piVar26 + 0xc" (pointer_expression "*piVar26" * identifier) + number_literal) ))))) )) (argument_list "(piVar26,uVar18)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) }))) (if_statement "if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" { (if_statement "if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }" { (expression_statement "uVar19 = uVar20;" (assignment_expression "uVar19 = uVar20" identifier = identifier) ;) (if_statement "if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }" if (parenthesized_expression "((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20))" ( (binary_expression "(local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" (parenthesized_expression "(local_dc != (undefined *)*piVar24)" ( (binary_expression "local_dc != (undefined *)*piVar24" identifier != (cast_expression "(undefined *)*piVar24" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar24" * identifier))) )) && (parenthesized_expression "(uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" ( (comma_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" ( (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" ( (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) )))) , (binary_expression "uVar30 < uVar20" identifier < identifier)) ))) )) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" { (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" identifier = identifier) ;) })) }) (else_clause "else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" else (compound_statement "{\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" { (expression_statement "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" ( (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" * (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" ( (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" * identifier) + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) )))) ;) (if_statement "if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }" if (parenthesized_expression "(uVar30 < uVar20)" ( (binary_expression "uVar30 < uVar20" identifier < identifier) )) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" { (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" identifier = identifier) ;) })) }))) })) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" identifier = (cast_expression "(int *)((int)unaff_s3 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" identifier = (binary_expression "piVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)unaff_s3 < (int)unaff_s8)" ( (binary_expression "(int)unaff_s3 < (int)unaff_s8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = unaff_s6;" (assignment_expression "local_b4 = unaff_s6" identifier = identifier) ;) (expression_statement "local_b0 = puVar10;" (assignment_expression "local_b0 = puVar10" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar18 < *(int *)puVar6)" ( (binary_expression "(int)uVar18 < *(int *)puVar6" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (if_statement "if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" if (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) )) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" else (compound_statement "{\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "puVar13 = PTR_symbols_0008d7a4;" (assignment_expression "puVar13 = PTR_symbols_0008d7a4" identifier = identifier) ;) (expression_statement "iVar29 = uVar30 + 2;" (assignment_expression "iVar29 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) ;) (if_statement "if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" if (parenthesized_expression "(piVar16[1] == 0)" ( (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                }" { (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" else (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" { (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" { (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);" do (compound_statement "{\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    }" { (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(int **)(puVar1 + -0x1cf0)" * (cast_expression "(int **)(puVar1 + -0x1cf0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = (undefined *)(uVar30 >> 5);" (assignment_expression "local_b8 = (undefined *)(uVar30 >> 5)" identifier = (cast_expression "(undefined *)(uVar30 >> 5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar30 >> 5)" ( (binary_expression "uVar30 >> 5" identifier >> number_literal) )))) ;) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" if (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" ( (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) ))) < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }" { (expression_statement "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" * (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) )) * number_literal)) )))) >> (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" else (compound_statement "{\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" { (expression_statement "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar30)" ( identifier , identifier )))) ;) }))) (if_statement "if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                        unaff_s8 = (int *)0x0;\n                      }" { (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (if_statement "if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" if (parenthesized_expression "(0 < *piVar16)" ( (binary_expression "0 < *piVar16" number_literal < (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" { (expression_statement "iVar23 = uVar30 * 4;" (assignment_expression "iVar23 = uVar30 * 4" identifier = (binary_expression "uVar30 * 4" identifier * number_literal)) ;) (expression_statement "unaff_s3 = piVar16 + 2;" (assignment_expression "unaff_s3 = piVar16 + 2" identifier = (binary_expression "piVar16 + 2" identifier + number_literal)) ;) (expression_statement "local_b0 = local_dc + 4;" (assignment_expression "local_b0 = local_dc + 4" identifier = (binary_expression "local_dc + 4" identifier + number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (int *)(uVar30 & 0x1f);" (assignment_expression "local_b4 = (int *)(uVar30 & 0x1f)" identifier = (cast_expression "(int *)(uVar30 & 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar30 & 0x1f)" ( (binary_expression "uVar30 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);" do (compound_statement "{\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        }" { (expression_statement "piVar24 = *(int **)(piVar16[1] + iVar15 * 4);" (assignment_expression "piVar24 = *(int **)(piVar16[1] + iVar15 * 4)" identifier = (pointer_expression "*(int **)(piVar16[1] + iVar15 * 4)" * (cast_expression "(int **)(piVar16[1] + iVar15 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar16[1] + iVar15 * 4)" ( (binary_expression "piVar16[1] + iVar15 * 4" (subscript_expression "piVar16[1]" identifier [ number_literal ]) + (binary_expression "iVar15 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" if (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" ( (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) ))) < (cast_expression "(uint)piVar24[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar24[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }" { (expression_statement "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" identifier = (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" * (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" ( (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" identifier [ number_literal ]) + (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" ( (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "piVar24[1]" identifier [ number_literal ])) )) * number_literal)) )))) >> (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) & number_literal)) ;) }) (else_clause "else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" else (compound_statement "{\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" { (expression_statement "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" identifier = (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" ( (pointer_expression "**(code **)(*piVar24 + 0xc)" * (pointer_expression "*(code **)(*piVar24 + 0xc)" * (cast_expression "(code **)(*piVar24 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar24 + 0xc)" ( (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" * identifier) + number_literal) ))))) )) (argument_list "(piVar24,uVar30)" ( identifier , identifier )))) ;) }))) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" identifier = identifier) ;) (if_statement "if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" { (if_statement "if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }" { (expression_statement "puVar14 = (undefined *)*unaff_s3;" (assignment_expression "puVar14 = (undefined *)*unaff_s3" identifier = (cast_expression "(undefined *)*unaff_s3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*unaff_s3" * identifier))) ;) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (expression_statement "uVar34 = uVar20;" (assignment_expression "uVar34 = uVar20" identifier = identifier) ;) (if_statement "if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" if (parenthesized_expression "(local_dc != puVar14)" ( (binary_expression "local_dc != puVar14" identifier != identifier) )) (compound_statement "{\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" { (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" ( identifier , identifier , (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) , (binary_expression "puVar14 + 4" identifier + number_literal) , (binary_expression "puVar14 + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" identifier = identifier) ;) })) }) (else_clause "else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" else (compound_statement "{\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" { (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) (if_statement "if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" { (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" ( identifier , identifier , identifier , identifier , (binary_expression "local_dc + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" identifier = (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" * (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" * (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar13 + iVar23)" ( (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))))) ;) })) (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" ( identifier , identifier , identifier , (binary_expression "*unaff_s3 + 4" (pointer_expression "*unaff_s3" * identifier) + number_literal) , (binary_expression "*unaff_s3 + 8" (pointer_expression "*unaff_s3" * identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" identifier = (binary_expression "unaff_s3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s8;" (assignment_expression "unaff_s4 = unaff_s8" identifier = identifier) ;) (expression_statement "uVar19 = uVar34;" (assignment_expression "uVar19 = uVar34" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < *piVar16)" ( (binary_expression "iVar15 < *piVar16" identifier < (pointer_expression "*piVar16" * identifier)) )) ;) })) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar30 < *(int *)puVar6)" ( (binary_expression "(int)uVar30 < *(int *)puVar6" (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) }))) (if_statement "if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" if (parenthesized_expression "(local_dc != (undefined *)0x0)" ( (binary_expression "local_dc != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" { (expression_statement "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);" (assignment_expression "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier = (call_expression "muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" identifier (argument_list "(PTR_LAB_0008d628 + 0x3c20)" ( (binary_expression "PTR_LAB_0008d628 + 0x3c20" identifier + number_literal) )))) ;) (expression_statement "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x6fb8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" ( (pointer_expression "*local_c8" * identifier) )) (argument_list "(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" ( identifier , identifier , identifier , (binary_expression "local_dc + 4" identifier + number_literal) , (binary_expression "local_dc + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x715c)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x715c" identifier + number_literal) )))) ;) (if_statement "if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" if (parenthesized_expression "(((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))))" ( (binary_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" (parenthesized_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))))" ( (binary_expression "(iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" ( (parenthesized_expression "(iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))" ( (comma_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" identifier = (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" ( (pointer_expression "*(code *)PTR_strcmp_0008dfc8" * (cast_expression "(code *)PTR_strcmp_0008dfc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x7164)" ( identifier , (binary_expression "PTR_LAB_0008d628 + 0x7164" identifier + number_literal) )))) , (binary_expression "iVar29 != 0 || (unaff_s8 == (int *)0x0)" (binary_expression "iVar29 != 0" identifier != number_literal) || (parenthesized_expression "(unaff_s8 == (int *)0x0)" ( (binary_expression "unaff_s8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) && (parenthesized_expression "((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" ( (parenthesized_expression "(*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))" ( (binary_expression "*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)" (binary_expression "*piVar16 != 1" (pointer_expression "*piVar16" * identifier) != number_literal) || (parenthesized_expression "(*(int *)(piVar16[2] + 4) != 0)" ( (binary_expression "*(int *)(piVar16[2] + 4) != 0" (pointer_expression "*(int *)(piVar16[2] + 4)" * (cast_expression "(int *)(piVar16[2] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16[2] + 4)" ( (binary_expression "piVar16[2] + 4" (subscript_expression "piVar16[2]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" { (expression_statement "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);" (call_expression "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" (parenthesized_expression "(*(code *)PTR___assert_fail_0008de30)" ( (pointer_expression "*(code *)PTR___assert_fail_0008de30" * (cast_expression "(code *)PTR___assert_fail_0008de30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" ( (binary_expression "PTR_LAB_0008d628 + 0x717c" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x7170" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0008d628 + 0x7220" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_free_0008df9c)(uVar11);" (call_expression "(*(code *)PTR_free_0008df9c)(uVar11)" (parenthesized_expression "(*(code *)PTR_free_0008df9c)" ( (pointer_expression "*(code *)PTR_free_0008df9c" * (cast_expression "(code *)PTR_free_0008df9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier ))) ;) })) })) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;) })) (if_statement "if (piVar16[1] == 0) goto LAB_0003c4e4;" if (parenthesized_expression "(piVar16[1] == 0)" ( (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003c4e4;" goto statement_identifier ;)) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)puVar6) goto LAB_0003c1e8;" if (parenthesized_expression "(0 < *(int *)puVar6)" ( (binary_expression "0 < *(int *)puVar6" number_literal < (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_0003c1e8;" goto statement_identifier ;)) (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" identifier = (subscript_expression "unaff_s6[2]" identifier [ number_literal ])) ;) }))) (expression_statement "(*pcVar17)(iVar29,puVar10,0);" (call_expression "(*pcVar17)(iVar29,puVar10,0)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar29,puVar10,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" if (parenthesized_expression "(((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0))" ( (binary_expression "((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)" (parenthesized_expression "((*(uint *)puVar2 & 8) != 0)" ( (binary_expression "(*(uint *)puVar2 & 8) != 0" (parenthesized_expression "(*(uint *)puVar2 & 8)" ( (binary_expression "*(uint *)puVar2 & 8" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) && (parenthesized_expression "(unaff_s6[7] != 0)" ( (binary_expression "unaff_s6[7] != 0" (subscript_expression "unaff_s6[7]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" { (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" identifier = (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" if (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" ( (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" identifier < (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" * (cast_expression "(undefined1 **)(puVar10 + 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" { (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" * (cast_expression "(undefined1 **)(puVar10 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" * identifier) = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" else (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" { (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" ( (pointer_expression "*(code *)PTR___overflow_0008de84" * (cast_expression "(code *)PTR___overflow_0008de84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" ( (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" * (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6[7],puVar10)" ( (subscript_expression "unaff_s6[7]" identifier [ number_literal ]) , identifier ))) ;) })) (expression_statement "local_c0 = local_c0 + 1;" (assignment_expression "local_c0 = local_c0 + 1" identifier = (binary_expression "local_c0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)local_c0 < *(int *)puVar5)" ( (binary_expression "(int)local_c0 < *(int *)puVar5" (cast_expression "(int)local_c0" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (expression_statement "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);" (assignment_expression "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0)" identifier = (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" * (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1cf0)" ( (binary_expression "puVar1 + -0x1cf0" identifier + number_literal) ))))) ;) })) (expression_statement "bitset_free(uVar11);" (call_expression "bitset_free(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" if (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" ( (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" ( (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" * (cast_expression "(uint *)puVar2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" { (expression_statement "(*(code *)PTR_free_closure_0008d7f4)();" (call_expression "(*(code *)PTR_free_closure_0008d7f4)()" (parenthesized_expression "(*(code *)PTR_free_closure_0008d7f4)" ( (pointer_expression "*(code *)PTR_free_closure_0008d7f4" * (cast_expression "(code *)PTR_free_closure_0008d7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "xfclose(puVar10);" (call_expression "xfclose(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (if_statement "if (local_2c == *(int *)puVar9) {\n        return;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar9)" ( (binary_expression "local_2c == *(int *)puVar9" identifier == (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0008df68)();" (call_expression "(*(code *)PTR___stack_chk_fail_0008df68)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0008df68)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0008df68" * (cast_expression "(code *)PTR___stack_chk_fail_0008df68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0003ca90:\n      iVar29 = 3;" statement_identifier : (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;)) (labeled_statement "LAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" statement_identifier : (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b0 + 0x7110,5)" ( number_literal , (binary_expression "local_b0 + 0x7110" identifier + number_literal) , number_literal )))) ;)) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" ( (cast_expression "(undefined *)((int)unaff_s8 + (int)unaff_s3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s8 + (int)unaff_s3" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" if (parenthesized_expression "(0 < *unaff_s6)" ( (binary_expression "0 < *unaff_s6" number_literal < (pointer_expression "*unaff_s6" * identifier)) )) (compound_statement "{\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);" do (compound_statement "{\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        }" { (if_statement "if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" if (parenthesized_expression "(*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16)" ( (binary_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" * (cast_expression "(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" ( (binary_expression "*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80" (pointer_expression "*(int *)(*(int *)puVar2 + iVar15 + 8)" * (cast_expression "(int *)(*(int *)puVar2 + iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar15 + 8)" ( (binary_expression "*(int *)puVar2 + iVar15 + 8" (binary_expression "*(int *)puVar2 + iVar15" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" { (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar28))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar28)" number_literal < (call_expression "(uint)(iVar29 + iVar28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar28)" ( (binary_expression "iVar29 + iVar28" identifier + identifier) )))) )) (compound_statement "{\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar28)" ( (binary_expression "(int)unaff_s8 + iVar28" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + 0x60;" (assignment_expression "iVar15 = iVar15 + 0x60" identifier = (binary_expression "iVar15 + 0x60" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" identifier = (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar23 < *unaff_s6)" ( (binary_expression "iVar23 < *unaff_s6" identifier < (pointer_expression "*unaff_s6" * identifier)) )) ;) })) (if_statement "if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" if (parenthesized_expression "(unaff_s4 != (int *)0x0)" ( (binary_expression "unaff_s4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" { (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (expression_statement "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;" (assignment_expression "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c" (pointer_expression "*(undefined1 *)((int)unaff_s8 + iVar15)" * (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;" (assignment_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0" (subscript_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1]" (parenthesized_expression "((undefined1 *)((int)unaff_s8 + iVar15))" ( (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )) [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" statement_identifier : (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;)) (if_statement "if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar15))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar15)" number_literal < (call_expression "(uint)(iVar29 + iVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar15)" ( (binary_expression "iVar29 + iVar15" identifier + identifier) )))) )) (compound_statement "{\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" ( (pointer_expression "*(code *)PTR_dcgettext_0008df70" * (cast_expression "(code *)PTR_dcgettext_0008df70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_b4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar15)" ( (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" identifier = identifier) ;) (if_statement "if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" if (parenthesized_expression "(0 < *unaff_s6)" ( (binary_expression "0 < *unaff_s6" number_literal < (pointer_expression "*unaff_s6" * identifier)) )) (compound_statement "{\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" { (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);" do (compound_statement "{\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          }" { (expression_statement "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);" (assignment_expression "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" * (cast_expression "(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s4 + *(int *)puVar2 + 0xc)" ( (binary_expression "(int)unaff_s4 + *(int *)puVar2 + 0xc" (binary_expression "(int)unaff_s4 + *(int *)puVar2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) ))))) ;) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" identifier = (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (if_statement "if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" if (parenthesized_expression "((int)piVar24 < 0)" ( (binary_expression "(int)piVar24 < 0" (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              iVar23 = *unaff_s6;\n            }" { (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) }) (else_clause "else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" else (compound_statement "{\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" { (do_statement "do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);" do (compound_statement "{\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              }" { (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (if_statement "if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" if (parenthesized_expression "(piVar24 == piVar16)" ( (binary_expression "piVar24 == piVar16" identifier == identifier) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) (if_statement "if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" if (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar23))" ( (binary_expression "0x41 < (uint)(iVar29 + iVar23)" number_literal < (call_expression "(uint)(iVar29 + iVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 + iVar23)" ( (binary_expression "iVar29 + iVar23" identifier + identifier) )))) )) (compound_statement "{\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" { (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" * (cast_expression "(code *)PTR___fprintf_chk_0008de68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,1,local_c8,unaff_s8)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" identifier = (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" ( (pointer_expression "*(code *)PTR_strlen_0008def8" * (cast_expression "(code *)PTR_strlen_0008def8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier )))) ;) })) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" ( (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" * (cast_expression "(code *)PTR___sprintf_chk_0008de24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" ( (cast_expression "(undefined *)((int)unaff_s8 + iVar23)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + iVar23)" ( (binary_expression "(int)unaff_s8 + iVar23" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , number_literal , number_literal , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" identifier = (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) }) while (parenthesized_expression "(-1 < (int)piVar24)" ( (binary_expression "-1 < (int)piVar24" number_literal < (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) }))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = unaff_s4 + 0x18;" (assignment_expression "unaff_s4 = unaff_s4 + 0x18" identifier = (binary_expression "unaff_s4 + 0x18" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" identifier = (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar15 < iVar23)" ( (binary_expression "iVar15 < iVar23" identifier < identifier) )) ;) })) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (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 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 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 (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 (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 (pointer_declarator * 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , 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 LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) ))))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) * LIT)) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) * LIT)) )))) + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + 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) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) , LIT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;) })) (labeled_statement statement_identifier : (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 *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (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 (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = 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 *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == IDENT) )) (compound_statement { (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))) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * IDENT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (pointer_expression * IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) * LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * IDENT) + IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (pointer_expression * IDENT) * LIT)) ))))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) >> LIT) ))) + LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + IDENT) + LIT) ))))) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (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 : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * IDENT) + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )))) , (binary_expression IDENT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) 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) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression (pointer_expression * IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (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 (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= IDENT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) >> (cast_expression ( (type_descriptor TYPE) ) IDENT)) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , 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 != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) )))) , (binary_expression IDENT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) )) * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) ))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) )) * LIT)) )))) >> (cast_expression ( (type_descriptor TYPE) ) IDENT)) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) }))) (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 == LIT) )) (compound_statement { (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) ))))) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression (pointer_expression * IDENT) + LIT) , (binary_expression (pointer_expression * IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ 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 IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (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 (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) + LIT) )))) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , LIT , LIT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) )) [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , LIT , LIT , IDENT , IDENT ))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) })) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void print_results(void)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" (primitive_type "void") (function_declarator "print_results(void)" (identifier "print_results") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  undefined *puVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  int *piVar16;\n  code *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  undefined1 *puVar22;\n  int iVar23;\n  int *piVar24;\n  undefined4 *puVar25;\n  int *piVar26;\n  uint *puVar27;\n  int iVar28;\n  int iVar29;\n  uint uVar30;\n  int *unaff_s3;\n  int *unaff_s4;\n  uint *puVar31;\n  int *unaff_s6;\n  uint *puVar32;\n  uint *puVar33;\n  int *unaff_s8;\n  uint uVar34;\n  undefined *local_dc;\n  int *local_d8;\n  code *local_c8;\n  int *local_c4;\n  undefined *local_c0;\n  undefined *local_bc;\n  undefined *local_b8;\n  int *local_b4;\n  undefined *local_b0;\n  int local_88 [23];\n  int local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_0008df8c;\n  puVar2 = PTR_LAB_0008d628;\n  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;\n  local_bc = PTR_LAB_0008d628;\n  puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);\n  puVar5 = PTR_max_user_token_number_0008da2c;\n  reduce_output(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);\n  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);\n  conflicts_output(puVar10);\n  grammar_rules_print(puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  puVar4 = PTR_undeftoken_0008da10;\n  puVar1 = PTR_token_translations_0008d958;\n  puVar6 = PTR_DAT_0008d800;\n  puVar3 = PTR_LAB_0008d628;\n  if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }\nLAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;\n  puVar6 = PTR_ntokens_0008d77c;\n  puVar3 = PTR_LAB_0008d628;\n  local_c4 = (int *)PTR_nsyms_0008d7bc;\n  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);\n  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);\n  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);\n  piVar16 = *(int **)puVar6;\n  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;\n  local_d8 = (int *)PTR_symbols_0008d7a4;\n  unaff_s8 = local_88;\n  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);\n  local_c0 = PTR_LAB_0008d628;\n  local_dc = PTR_LAB_0008d628 + 0x4d80;\n  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);\n  local_bc = PTR_LAB_0008d628;\n  local_b8 = PTR_DAT_0008d800;\n  local_b0 = PTR_LAB_0008d628;\n  unaff_s6 = (int *)PTR_nrules_0008d7c8;\n  do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "code *pcVar17;" (type_identifier "code") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined4 uVar21;" (type_identifier "undefined4") (identifier "uVar21") (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "uint *puVar27;" (type_identifier "uint") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "uint uVar30;" (type_identifier "uint") (identifier "uVar30") (; ";")) (declaration "int *unaff_s3;" (primitive_type "int") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "int *unaff_s4;" (primitive_type "int") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "uint *puVar31;" (type_identifier "uint") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "int *unaff_s6;" (primitive_type "int") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "uint *puVar32;" (type_identifier "uint") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "uint *puVar33;" (type_identifier "uint") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "int *unaff_s8;" (primitive_type "int") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "uint uVar34;" (type_identifier "uint") (identifier "uVar34") (; ";")) (declaration "undefined *local_dc;" (type_identifier "undefined") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc")) (; ";")) (declaration "int *local_d8;" (primitive_type "int") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "code *local_c8;" (type_identifier "code") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "int *local_c4;" (primitive_type "int") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "undefined *local_c0;" (type_identifier "undefined") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "undefined *local_bc;" (type_identifier "undefined") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "undefined *local_b8;" (type_identifier "undefined") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "int *local_b4;" (primitive_type "int") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")) (; ";")) (declaration "undefined *local_b0;" (type_identifier "undefined") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "int local_88 [23];" (primitive_type "int") (array_declarator "local_88 [23]" (identifier "local_88") ([ "[") (number_literal "23") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar9 = PTR___stack_chk_guard_0008df8c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_0008df8c" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_guard_0008df8c")) (; ";")) (expression_statement "puVar2 = PTR_LAB_0008d628;" (assignment_expression "puVar2 = PTR_LAB_0008d628" (identifier "puVar2") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0008df8c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0008df8c" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0008df8c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0008df8c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0008df8c")))) (; ";")) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" (identifier "local_bc") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);" (assignment_expression "puVar10 = (undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" (identifier "puVar10") (= "=") (cast_expression "(undefined *)\n            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" (identifier "xfopen") (argument_list "(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224)" (( "(") (pointer_expression "*(undefined4 *)PTR_spec_verbose_file_0008d8bc" (* "*") (cast_expression "(undefined4 *)PTR_spec_verbose_file_0008d8bc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_spec_verbose_file_0008d8bc"))) (, ",") (binary_expression "PTR_LAB_0008d628 + 0x4224" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x4224")) () ")"))))) (; ";")) (expression_statement "puVar5 = PTR_max_user_token_number_0008da2c;" (assignment_expression "puVar5 = PTR_max_user_token_number_0008da2c" (identifier "puVar5") (= "=") (identifier "PTR_max_user_token_number_0008da2c")) (; ";")) (expression_statement "reduce_output(puVar10);" (call_expression "reduce_output(puVar10)" (identifier "reduce_output") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x7080,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x7080" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7080")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);" (call_expression "grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" (identifier "grammar_rules_partial_print") (argument_list "(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64)" (( "(") (identifier "puVar10") (, ",") (identifier "uVar11") (, ",") (identifier "PTR_rule_useless_in_parser_p_0008db64") () ")"))) (; ";")) (expression_statement "conflicts_output(puVar10);" (call_expression "conflicts_output(puVar10)" (identifier "conflicts_output") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "grammar_rules_print(puVar10);" (call_expression "grammar_rules_print(puVar10)" (identifier "grammar_rules_print") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x70ac,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x70ac" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x70ac")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (binary_expression "puVar2 + 0x37a8" (identifier "puVar2") (+ "+") (number_literal "0x37a8")) (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "puVar4 = PTR_undeftoken_0008da10;" (assignment_expression "puVar4 = PTR_undeftoken_0008da10" (identifier "puVar4") (= "=") (identifier "PTR_undeftoken_0008da10")) (; ";")) (expression_statement "puVar1 = PTR_token_translations_0008d958;" (assignment_expression "puVar1 = PTR_token_translations_0008d958" (identifier "puVar1") (= "=") (identifier "PTR_token_translations_0008d958")) (; ";")) (expression_statement "puVar6 = PTR_DAT_0008d800;" (assignment_expression "puVar6 = PTR_DAT_0008d800" (identifier "puVar6") (= "=") (identifier "PTR_DAT_0008d800")) (; ";")) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" (identifier "puVar3") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (if_statement "if (-1 < *(int *)puVar5) {\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)puVar5)" (( "(") (binary_expression "-1 < *(int *)puVar5" (number_literal "-1") (< "<") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (compound_statement "{\n    iVar29 = 0;\n    puVar12 = PTR_LAB_0008d628 + 0x4d80;\n    puVar13 = PTR_LAB_0008d628 + 0x7100;\n    local_c8 = (code *)PTR_LAB_0008d628;\n    puVar14 = PTR_LAB_0008d628 + 0x176c;\n    local_c0 = PTR_DAT_0008d800;\n    do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);\n  }" ({ "{") (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12 = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "puVar12 = PTR_LAB_0008d628 + 0x4d80" (identifier "puVar12") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x4d80" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x4d80"))) (; ";")) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7100;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7100" (identifier "puVar13") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x7100" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7100"))) (; ";")) (expression_statement "local_c8 = (code *)PTR_LAB_0008d628;" (assignment_expression "local_c8 = (code *)PTR_LAB_0008d628" (identifier "local_c8") (= "=") (cast_expression "(code *)PTR_LAB_0008d628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LAB_0008d628"))) (; ";")) (expression_statement "puVar14 = PTR_LAB_0008d628 + 0x176c;" (assignment_expression "puVar14 = PTR_LAB_0008d628 + 0x176c" (identifier "puVar14") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x176c" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x176c"))) (; ";")) (expression_statement "local_c0 = PTR_DAT_0008d800;" (assignment_expression "local_c0 = PTR_DAT_0008d800" (identifier "local_c0") (= "=") (identifier "PTR_DAT_0008d800")) (; ";")) (do_statement "do {\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    } while (iVar29 <= *(int *)puVar5);" (do "do") (compound_statement "{\n      while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }\n      iVar29 = iVar29 + 1;\n    }" ({ "{") (while_statement "while( true ) {\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        puVar7 = PTR_symbols_0008d7a4;\n        unaff_s4 = (int *)(iVar29 * 4);\n        local_dc = puVar10;\n        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;\n        unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);\n        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);\n        local_88[0]._0_1_ = 0;\n        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);\n        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }\n        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }\n        puVar8 = PTR_nrules_0008d7c8;\n        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);\n        puVar7 = PTR_rules_0008d784;\n        if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }\nLAB_0003b8bc:\n        iVar29 = iVar29 + 1;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);\n        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;\n      }" ({ "{") (expression_statement "puVar7 = PTR_symbols_0008d7a4;" (assignment_expression "puVar7 = PTR_symbols_0008d7a4" (identifier "puVar7") (= "=") (identifier "PTR_symbols_0008d7a4")) (; ";")) (expression_statement "unaff_s4 = (int *)(iVar29 * 4);" (assignment_expression "unaff_s4 = (int *)(iVar29 * 4)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)(iVar29 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 * 4)" (( "(") (binary_expression "iVar29 * 4" (identifier "iVar29") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_dc = puVar10;" (assignment_expression "local_dc = puVar10" (identifier "local_dc") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;" (if "if") (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80))" (( "(") (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) ==\n            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" (* "*") (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" (( "(") (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) () ")")))) (== "==") (pointer_expression "*(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar4 + 0x28) + 0x80)" (( "(") (binary_expression "*(int *)(*(int *)puVar4 + 0x28) + 0x80" (pointer_expression "*(int *)(*(int *)puVar4 + 0x28)" (* "*") (cast_expression "(int *)(*(int *)puVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar4 + 0x28)" (( "(") (binary_expression "*(int *)puVar4 + 0x28" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);" (assignment_expression "unaff_s3 = (int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (* "*") (pointer_expression "*(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (* "*") (cast_expression "(undefined4 **)\n                            (*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4)" (( "(") (binary_expression "*(int *)PTR_symbols_0008d7a4 +\n                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)PTR_symbols_0008d7a4" (* "*") (cast_expression "(int *)PTR_symbols_0008d7a4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_symbols_0008d7a4"))) (+ "+") (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" (* "*") (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" (( "(") (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) () ")")))) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);" (assignment_expression "unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_0008dfe0"))) () ")")) (argument_list "(unaff_s3,puVar10)" (( "(") (identifier "unaff_s3") (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")")))) (; ";")) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" (if "if") (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" (( "(") (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x41")) (< "<") (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + iVar15)" (( "(") (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (identifier "iVar15")) () ")")))) () ")")) (compound_statement "{\n          unaff_s6 = (int *)0x3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n          local_88[0]._0_1_ = 0;\n        }" ({ "{") (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" (identifier "unaff_s6") (= "=") (cast_expression "(int *)0x3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar13,local_88)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "local_88") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0) {\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4)" (( "(") (binary_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28)" (( "(") (binary_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      ) + 0x28" (pointer_expression "*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" (* "*") (cast_expression "(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4\n                                      )" (( "(") (binary_expression "*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (+ "+") (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) * 4" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" (* "*") (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" (( "(") (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) () ")")))) (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);\n          unaff_s6 = (int *)((int)unaff_s6 + iVar15);\n          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);\n          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }\n        }" ({ "{") (expression_statement "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);" (assignment_expression "iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar6 + -0x4ae0)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (binary_expression "puVar6 + -0x4ae0" (identifier "puVar6") (+ "+") (number_literal "-0x4ae0")) () ")")))) (; ";")) (expression_statement "unaff_s6 = (int *)((int)unaff_s6 + iVar15);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s6 + iVar15)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)unaff_s6 + iVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + iVar15)" (( "(") (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (identifier "iVar15")) () ")")))) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(local_88)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")")))) (; ";")) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" (if "if") (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15))" (( "(") (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)" (cast_expression "(undefined *)0x41" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x41")) (< "<") (cast_expression "(undefined *)((int)unaff_s6 + iVar15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + iVar15)" (( "(") (binary_expression "(int)unaff_s6 + iVar15" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (identifier "iVar15")) () ")")))) () ")")) (compound_statement "{\n            unaff_s6 = (int *)0x3;\n            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n            local_88[0]._0_1_ = 0;\n          }" ({ "{") (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" (identifier "unaff_s6") (= "=") (cast_expression "(int *)0x3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar13,local_88)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "local_88") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar8 = PTR_nrules_0008d7c8;" (assignment_expression "puVar8 = PTR_nrules_0008d7c8" (identifier "puVar8") (= "=") (identifier "PTR_nrules_0008d7c8")) (; ";")) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "(local_88,1,0x5a,puVar3 + 0x7108,iVar29)" (( "(") (identifier "local_88") (, ",") (number_literal "1") (, ",") (number_literal "0x5a") (, ",") (binary_expression "puVar3 + 0x7108" (identifier "puVar3") (+ "+") (number_literal "0x7108")) (, ",") (identifier "iVar29") () ")"))) (; ";")) (expression_statement "puVar7 = PTR_rules_0008d784;" (assignment_expression "puVar7 = PTR_rules_0008d784" (identifier "puVar7") (= "=") (identifier "PTR_rules_0008d784")) (; ";")) (if_statement "if (0 < *(int *)puVar8) {\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" (if "if") (parenthesized_expression "(0 < *(int *)puVar8)" (( "(") (binary_expression "0 < *(int *)puVar8" (number_literal "0") (< "<") (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8")))) () ")")) (compound_statement "{\n          unaff_s3 = (int *)0x0;\n          iVar15 = 0;\nLAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);\n        }" ({ "{") (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0003b85c:\n          do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" (statement_identifier "LAB_0003b85c") (: ":") (do_statement "do {\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          } while (iVar15 < *(int *)puVar8);" (do "do") (compound_statement "{\n            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);\n            iVar23 = *piVar16;\n            unaff_s8 = (int *)puVar7;\n            if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s3 = unaff_s3 + 0x18;\n          }" ({ "{") (expression_statement "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);" (assignment_expression "piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" (* "*") (cast_expression "(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)unaff_s3 + *(int *)puVar7 + 0xc)" (( "(") (binary_expression "(int)unaff_s3 + *(int *)puVar7 + 0xc" (binary_expression "(int)unaff_s3 + *(int *)puVar7" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (pointer_expression "*(int *)puVar7" (* "*") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" (identifier "iVar23") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "unaff_s8 = (int *)puVar7;" (assignment_expression "unaff_s8 = (int *)puVar7" (identifier "unaff_s8") (= "=") (cast_expression "(int *)puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (; ";")) (if_statement "if (-1 < iVar23) {\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" (if "if") (parenthesized_expression "(-1 < iVar23)" (( "(") (binary_expression "-1 < iVar23" (number_literal "-1") (< "<") (identifier "iVar23")) () ")")) (compound_statement "{\n              do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);\n            }" ({ "{") (do_statement "do {\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              } while (-1 < iVar23);" (do "do") (compound_statement "{\n                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }\n                piVar16 = piVar16 + 1;\n                iVar23 = *piVar16;\n              }" ({ "{") (if_statement "if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" (if "if") (parenthesized_expression "(*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23)" (( "(") (binary_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23" (pointer_expression "*(int *)(*(int *)puVar1 + (int)unaff_s4)" (* "*") (cast_expression "(int *)(*(int *)puVar1 + (int)unaff_s4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + (int)unaff_s4)" (( "(") (binary_expression "*(int *)puVar1 + (int)unaff_s4" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) () ")")))) (== "==") (identifier "iVar23")) () ")")) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }\n                  iVar28 = iVar15 + 1;\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);\n                  unaff_s3 = unaff_s3 + 0x18;\n                  iVar15 = iVar28;\n                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;\n                  goto LAB_0003b8bc;\n                }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")")))) (; ";")) (if_statement "if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" (if "if") (parenthesized_expression "((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23))" (( "(") (binary_expression "(undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)" (cast_expression "(undefined *)0x41" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x41")) (< "<") (cast_expression "(undefined *)((int)unaff_s6 + iVar23)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + iVar23)" (( "(") (binary_expression "(int)unaff_s6 + iVar23" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (identifier "iVar23")) () ")")))) () ")")) (compound_statement "{\n                    unaff_s6 = (int *)0x3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);\n                  }" ({ "{") (expression_statement "unaff_s6 = (int *)0x3;" (assignment_expression "unaff_s6 = (int *)0x3" (identifier "unaff_s6") (= "=") (cast_expression "(int *)0x3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar13,local_88)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "local_88") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(local_88)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(local_88)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(local_88)" (( "(") (identifier "local_88") () ")")))) (; ";")) (} "}"))) (expression_statement "iVar28 = iVar15 + 1;" (assignment_expression "iVar28 = iVar15 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15)" (( "(") (binary_expression "(int)local_88 + iVar23" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "iVar23")) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "puVar12") (, ",") (identifier "iVar15") () ")"))) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + 0x18" (identifier "unaff_s3") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "iVar15 = iVar28;" (assignment_expression "iVar15 = iVar28" (identifier "iVar15") (= "=") (identifier "iVar28")) (; ";")) (if_statement "if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;" (if "if") (parenthesized_expression "(iVar28 < *(int *)puVar8)" (( "(") (binary_expression "iVar28 < *(int *)puVar8" (identifier "iVar28") (< "<") (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8")))) () ")")) (goto_statement "goto LAB_0003b85c;" (goto "goto") (statement_identifier "LAB_0003b85c") (; ";"))) (goto_statement "goto LAB_0003b8bc;" (goto "goto") (statement_identifier "LAB_0003b8bc") (; ";")) (} "}"))) (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar16 + 1" (identifier "piVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar23 = *piVar16;" (assignment_expression "iVar23 = *piVar16" (identifier "iVar23") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-1 < iVar23)" (( "(") (binary_expression "-1 < iVar23" (number_literal "-1") (< "<") (identifier "iVar23")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + 0x18;" (assignment_expression "unaff_s3 = unaff_s3 + 0x18" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + 0x18" (identifier "unaff_s3") (+ "+") (number_literal "0x18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < *(int *)puVar8)" (( "(") (binary_expression "iVar15 < *(int *)puVar8" (identifier "iVar15") (< "<") (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8")))) () ")")) (; ";"))) (} "}"))) (labeled_statement "LAB_0003b8bc:\n        iVar29 = iVar29 + 1;" (statement_identifier "LAB_0003b8bc") (: ":") (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar14,local_88)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar14") (, ",") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;" (if "if") (parenthesized_expression "(*(int *)puVar5 < iVar29)" (( "(") (binary_expression "*(int *)puVar5 < iVar29" (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (< "<") (identifier "iVar29")) () ")")) (goto_statement "goto LAB_0003b8ec;" (goto "goto") (statement_identifier "LAB_0003b8ec") (; ";"))) (} "}"))) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar29 <= *(int *)puVar5)" (( "(") (binary_expression "iVar29 <= *(int *)puVar5" (identifier "iVar29") (<= "<=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0003b8ec:\n  puVar1 = PTR_nsyms_0008d7bc;" (statement_identifier "LAB_0003b8ec") (: ":") (expression_statement "puVar1 = PTR_nsyms_0008d7bc;" (assignment_expression "puVar1 = PTR_nsyms_0008d7bc" (identifier "puVar1") (= "=") (identifier "PTR_nsyms_0008d7bc")) (; ";"))) (expression_statement "puVar6 = PTR_ntokens_0008d77c;" (assignment_expression "puVar6 = PTR_ntokens_0008d77c" (identifier "puVar6") (= "=") (identifier "PTR_ntokens_0008d77c")) (; ";")) (expression_statement "puVar3 = PTR_LAB_0008d628;" (assignment_expression "puVar3 = PTR_LAB_0008d628" (identifier "puVar3") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "local_c4 = (int *)PTR_nsyms_0008d7bc;" (assignment_expression "local_c4 = (int *)PTR_nsyms_0008d7bc" (identifier "local_c4") (= "=") (cast_expression "(int *)PTR_nsyms_0008d7bc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nsyms_0008d7bc"))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0008df80"))) () ")")) (argument_list "(PTR_LAB_0008d628 + 0x4938,1,2,puVar10)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x4938" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x4938")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x70d4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x70d4" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x70d4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar2 + 0x37a8,uVar11)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (binary_expression "puVar2 + 0x37a8" (identifier "puVar2") (+ "+") (number_literal "0x37a8")) (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "piVar16 = *(int **)puVar6;" (assignment_expression "piVar16 = *(int **)puVar6" (identifier "piVar16") (= "=") (pointer_expression "*(int **)puVar6" (* "*") (cast_expression "(int **)puVar6" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6")))) (; ";")) (if_statement "if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;" (if "if") (parenthesized_expression "(*(int *)puVar1 <= (int)piVar16)" (( "(") (binary_expression "*(int *)puVar1 <= (int)piVar16" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (<= "<=") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")) (goto_statement "goto LAB_0003bb54;" (goto "goto") (statement_identifier "LAB_0003bb54") (; ";"))) (expression_statement "local_d8 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "local_d8 = (int *)PTR_symbols_0008d7a4" (identifier "local_d8") (= "=") (cast_expression "(int *)PTR_symbols_0008d7a4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_symbols_0008d7a4"))) (; ";")) (expression_statement "unaff_s8 = local_88;" (assignment_expression "unaff_s8 = local_88" (identifier "unaff_s8") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);" (assignment_expression "local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c)" (identifier "local_b4") (= "=") (cast_expression "(int *)(PTR_LAB_0008d628 + 0x711c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0008d628 + 0x711c)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x711c" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x711c")) () ")")))) (; ";")) (expression_statement "local_c0 = PTR_LAB_0008d628;" (assignment_expression "local_c0 = PTR_LAB_0008d628" (identifier "local_c0") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "local_dc = PTR_LAB_0008d628 + 0x4d80;" (assignment_expression "local_dc = PTR_LAB_0008d628 + 0x4d80" (identifier "local_dc") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x4d80" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x4d80"))) (; ";")) (expression_statement "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100)" (identifier "local_c8") (= "=") (cast_expression "(code *)(PTR_LAB_0008d628 + 0x7100)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0008d628 + 0x7100)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x7100" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7100")) () ")")))) (; ";")) (expression_statement "local_bc = PTR_LAB_0008d628;" (assignment_expression "local_bc = PTR_LAB_0008d628" (identifier "local_bc") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "local_b8 = PTR_DAT_0008d800;" (assignment_expression "local_b8 = PTR_DAT_0008d800" (identifier "local_b8") (= "=") (identifier "PTR_DAT_0008d800")) (; ";")) (expression_statement "local_b0 = PTR_LAB_0008d628;" (assignment_expression "local_b0 = PTR_LAB_0008d628" (identifier "local_b0") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "unaff_s6 = (int *)PTR_nrules_0008d7c8;" (assignment_expression "unaff_s6 = (int *)PTR_nrules_0008d7c8" (identifier "unaff_s6") (= "=") (cast_expression "(int *)PTR_nrules_0008d7c8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nrules_0008d7c8"))) (; ";")) (do_statement "do {\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  } while( true );" (do "do") (compound_statement "{\n    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);\n    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n    if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }\n    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }\n    local_88[0]._0_1_ = 0;\n    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);\n    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n    if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }\n    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;\n    while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);" (assignment_expression "uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4)" (identifier "uVar11") (= "=") (pointer_expression "**(undefined4 **)(*local_d8 + (int)piVar16 * 4)" (* "*") (pointer_expression "*(undefined4 **)(*local_d8 + (int)piVar16 * 4)" (* "*") (cast_expression "(undefined4 **)(*local_d8 + (int)piVar16 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" (( "(") (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" (* "*") (identifier "local_d8")) (+ "+") (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (if_statement "if (*unaff_s6 < 1) {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }\n    else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" (if "if") (parenthesized_expression "(*unaff_s6 < 1)" (( "(") (binary_expression "*unaff_s6 < 1" (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n    }" ({ "{") (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" (identifier "unaff_s4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" (else "else") (compound_statement "{\n      unaff_s4 = (int *)0x0;\n      iVar15 = 0;\n      iVar23 = *(int *)PTR_rules_0008d784;\n      iVar28 = *unaff_s6 * 0x60 + iVar23;\n      do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);\n    }" ({ "{") (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" (identifier "unaff_s4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = *(int *)PTR_rules_0008d784;" (assignment_expression "iVar23 = *(int *)PTR_rules_0008d784" (identifier "iVar23") (= "=") (pointer_expression "*(int *)PTR_rules_0008d784" (* "*") (cast_expression "(int *)PTR_rules_0008d784" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rules_0008d784")))) (; ";")) (expression_statement "iVar28 = *unaff_s6 * 0x60 + iVar23;" (assignment_expression "iVar28 = *unaff_s6 * 0x60 + iVar23" (identifier "iVar28") (= "=") (binary_expression "*unaff_s6 * 0x60 + iVar23" (binary_expression "*unaff_s6 * 0x60" (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) (* "*") (number_literal "0x60")) (+ "+") (identifier "iVar23"))) (; ";")) (do_statement "do {\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      } while (iVar28 != iVar23);" (do "do") (compound_statement "{\n        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }\n        piVar24 = *(int **)(iVar23 + 0xc);\n        piVar26 = (int *)*piVar24;\n        while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }\n        iVar23 = iVar23 + 0x60;\n      }" ({ "{") (if_statement "if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {\n          iVar15 = iVar15 + 1;\n        }" (if "if") (parenthesized_expression "(*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16)" (( "(") (binary_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(iVar23 + 8) + 0x80)" (* "*") (cast_expression "(int **)(*(int *)(iVar23 + 8) + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar23 + 8) + 0x80)" (( "(") (binary_expression "*(int *)(iVar23 + 8) + 0x80" (pointer_expression "*(int *)(iVar23 + 8)" (* "*") (cast_expression "(int *)(iVar23 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 8)" (( "(") (binary_expression "iVar23 + 8" (identifier "iVar23") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "piVar16")) () ")")) (compound_statement "{\n          iVar15 = iVar15 + 1;\n        }" ({ "{") (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "piVar24 = *(int **)(iVar23 + 0xc);" (assignment_expression "piVar24 = *(int **)(iVar23 + 0xc)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(iVar23 + 0xc)" (* "*") (cast_expression "(int **)(iVar23 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" (identifier "piVar26") (= "=") (cast_expression "(int *)*piVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (while_statement "while (-1 < (int)piVar26) {\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" (while "while") (parenthesized_expression "(-1 < (int)piVar26)" (( "(") (binary_expression "-1 < (int)piVar26" (number_literal "-1") (< "<") (cast_expression "(int)piVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar26"))) () ")")) (compound_statement "{\n          piVar24 = piVar24 + 1;\n          if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }\n          piVar26 = (int *)*piVar24;\n        }" ({ "{") (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" (identifier "piVar24") (= "=") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar26 == piVar16) {\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" (if "if") (parenthesized_expression "(piVar26 == piVar16)" (( "(") (binary_expression "piVar26 == piVar16" (identifier "piVar26") (== "==") (identifier "piVar16")) () ")")) (compound_statement "{\n            unaff_s4 = (int *)((int)unaff_s4 + 1);\n            break;\n          }" ({ "{") (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)((int)unaff_s4 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + 1)" (( "(") (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar26 = (int *)*piVar24;" (assignment_expression "piVar26 = (int *)*piVar24" (identifier "piVar26") (= "=") (cast_expression "(int *)*piVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) (; ";")) (} "}"))) (expression_statement "iVar23 = iVar23 + 0x60;" (assignment_expression "iVar23 = iVar23 + 0x60" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 0x60" (identifier "iVar23") (+ "+") (number_literal "0x60"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar28 != iVar23)" (( "(") (binary_expression "iVar28 != iVar23" (identifier "iVar28") (!= "!=") (identifier "iVar23")) () ")")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_0008dfe0"))) () ")")) (argument_list "(uVar11,puVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "puVar10") () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0" (pointer_expression "*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4)" (( "(") (binary_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4" (pointer_expression "*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" (* "*") (cast_expression "(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28)" (( "(") (binary_expression "*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28" (pointer_expression "*(int *)(*local_d8 + (int)piVar16 * 4)" (* "*") (cast_expression "(int *)(*local_d8 + (int)piVar16 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_d8 + (int)piVar16 * 4)" (( "(") (binary_expression "*local_d8 + (int)piVar16 * 4" (pointer_expression "*local_d8" (* "*") (identifier "local_d8")) (+ "+") (binary_expression "(int)piVar16 * 4" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);\n      iVar29 = iVar29 + iVar23;\n    }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);" (assignment_expression "iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_b8 + -0x4ae0)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (binary_expression "local_b8 + -0x4ae0" (identifier "local_b8") (+ "+") (number_literal "-0x4ae0")) () ")")))) (; ";")) (expression_statement "iVar29 = iVar29 + iVar23;" (assignment_expression "iVar29 = iVar29 + iVar23" (identifier "iVar29") (= "=") (binary_expression "iVar29 + iVar23" (identifier "iVar29") (+ "+") (identifier "iVar23"))) (; ";")) (} "}"))) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16)" (( "(") (identifier "unaff_s8") (, ",") (number_literal "1") (, ",") (number_literal "0x5a") (, ",") (binary_expression "local_c0 + 0x7108" (identifier "local_c0") (+ "+") (number_literal "0x7108")) (, ",") (identifier "piVar16") () ")"))) (; ";")) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")"))))) (; ";")) (if_statement "if ((int)unaff_s3 + iVar29 == 0) {\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }\n    else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" (if "if") (parenthesized_expression "((int)unaff_s3 + iVar29 == 0)" (( "(") (binary_expression "(int)unaff_s3 + iVar29 == 0" (binary_expression "(int)unaff_s3 + iVar29" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar15 != 0) goto LAB_0003ca94;\n    }" ({ "{") (if_statement "if (iVar15 != 0) goto LAB_0003ca94;" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003ca94;" (goto "goto") (statement_identifier "LAB_0003ca94") (; ";"))) (} "}")) (else_clause "else {\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" (else "else") (compound_statement "{\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n      local_88[0]._0_1_ = 0;\n      if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }\n      iVar29 = 3;\n    }" ({ "{") (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_c8,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_c8") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar15 != 0) {\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;\n        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n        local_88[0]._0_1_ = 0;\n        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);\n        goto LAB_0003ca90;\n      }" ({ "{") (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")"))))) (; ";")) (if_statement "if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;" (if "if") (parenthesized_expression "((int)unaff_s3 + 3U < 0x42)" (( "(") (binary_expression "(int)unaff_s3 + 3U < 0x42" (binary_expression "(int)unaff_s3 + 3U" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "3U")) (< "<") (number_literal "0x42")) () ")")) (goto_statement "goto LAB_0003ca90;" (goto "goto") (statement_identifier "LAB_0003ca90") (; ";"))) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_c8,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_c8") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)(*(code *)PTR_strlen_0008def8)(unaff_s8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")"))))) (; ";")) (goto_statement "goto LAB_0003ca90;" (goto "goto") (statement_identifier "LAB_0003ca90") (; ";")) (} "}"))) (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" (identifier "iVar29") (= "=") (number_literal "3")) (; ";")) (} "}")))) (if_statement "if (unaff_s4 != (int *)0x0) goto LAB_0003c910;" (if "if") (parenthesized_expression "(unaff_s4 != (int *)0x0)" (( "(") (binary_expression "unaff_s4 != (int *)0x0" (identifier "unaff_s4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003c910;" (goto "goto") (statement_identifier "LAB_0003c910") (; ";"))) (while_statement "while( true ) {\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      piVar16 = (int *)((int)piVar16 + 1);\n      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);\n      if ((int)piVar16 < *local_c4) break;\nLAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;\n      local_c4 = (int *)PTR_report_flag_0008d71c;\n      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }\n      puVar5 = PTR_nstates_0008d698;\n      puVar1 = PTR_DAT_0008d618;\n      local_d8 = (int *)PTR_DAT_0008d618;\n      uVar11 = bitset_create(*(undefined4 *)puVar6,1);\n      iVar29 = *(int *)puVar5;\n      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;\n      puVar12 = PTR_states_0008d7f8;\n      puVar4 = PTR_LAB_0008d628;\n      piVar16 = (int *)puVar5;\n      if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }\n      bitset_free(uVar11);\n      if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }\n      xfclose(puVar10);\n      if (local_2c == *(int *)puVar9) {\n        return;\n      }\n      (*(code *)PTR___stack_chk_fail_0008df68)();\nLAB_0003ca90:\n      iVar29 = 3;\nLAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);\n      (*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);\n      puVar2 = PTR_rules_0008d784;\n      if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }\n      if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }\n    }" ({ "{") (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar16 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + 1)" (( "(") (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_bc + 0x176c,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (binary_expression "local_bc + 0x176c" (identifier "local_bc") (+ "+") (number_literal "0x176c")) (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (if_statement "if ((int)piVar16 < *local_c4) break;" (if "if") (parenthesized_expression "((int)piVar16 < *local_c4)" (( "(") (binary_expression "(int)piVar16 < *local_c4" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (< "<") (pointer_expression "*local_c4" (* "*") (identifier "local_c4"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0003bb54:\n      puVar2 = PTR_report_flag_0008d71c;" (statement_identifier "LAB_0003bb54") (: ":") (expression_statement "puVar2 = PTR_report_flag_0008d71c;" (assignment_expression "puVar2 = PTR_report_flag_0008d71c" (identifier "puVar2") (= "=") (identifier "PTR_report_flag_0008d71c")) (; ";"))) (expression_statement "local_c4 = (int *)PTR_report_flag_0008d71c;" (assignment_expression "local_c4 = (int *)PTR_report_flag_0008d71c" (identifier "local_c4") (= "=") (cast_expression "(int *)PTR_report_flag_0008d71c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_report_flag_0008d71c"))) (; ";")) (if_statement "if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" (if "if") (parenthesized_expression "((*(uint *)PTR_report_flag_0008d71c & 2) != 0)" (( "(") (binary_expression "(*(uint *)PTR_report_flag_0008d71c & 2) != 0" (parenthesized_expression "(*(uint *)PTR_report_flag_0008d71c & 2)" (( "(") (binary_expression "*(uint *)PTR_report_flag_0008d71c & 2" (pointer_expression "*(uint *)PTR_report_flag_0008d71c" (* "*") (cast_expression "(uint *)PTR_report_flag_0008d71c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_report_flag_0008d71c"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);\n      }" ({ "{") (expression_statement "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);" (call_expression "(*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0)" (parenthesized_expression "(*(code *)PTR_new_closure_0008d7d4)" (( "(") (pointer_expression "*(code *)PTR_new_closure_0008d7d4" (* "*") (cast_expression "(code *)PTR_new_closure_0008d7d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_new_closure_0008d7d4"))) () ")")) (argument_list "(*(undefined4 *)PTR_nritems_0008d7d0)" (( "(") (pointer_expression "*(undefined4 *)PTR_nritems_0008d7d0" (* "*") (cast_expression "(undefined4 *)PTR_nritems_0008d7d0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nritems_0008d7d0"))) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = PTR_nstates_0008d698;" (assignment_expression "puVar5 = PTR_nstates_0008d698" (identifier "puVar5") (= "=") (identifier "PTR_nstates_0008d698")) (; ";")) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" (identifier "puVar1") (= "=") (identifier "PTR_DAT_0008d618")) (; ";")) (expression_statement "local_d8 = (int *)PTR_DAT_0008d618;" (assignment_expression "local_d8 = (int *)PTR_DAT_0008d618" (identifier "local_d8") (= "=") (cast_expression "(int *)PTR_DAT_0008d618" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0008d618"))) (; ";")) (expression_statement "uVar11 = bitset_create(*(undefined4 *)puVar6,1);" (assignment_expression "uVar11 = bitset_create(*(undefined4 *)puVar6,1)" (identifier "uVar11") (= "=") (call_expression "bitset_create(*(undefined4 *)puVar6,1)" (identifier "bitset_create") (argument_list "(*(undefined4 *)puVar6,1)" (( "(") (pointer_expression "*(undefined4 *)puVar6" (* "*") (cast_expression "(undefined4 *)puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar29 = *(int *)puVar5;" (assignment_expression "iVar29 = *(int *)puVar5" (identifier "iVar29") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11;" (assignment_expression "*(undefined4 *)(puVar1 + -0x1cf0) = uVar11" (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar12 = PTR_states_0008d7f8;" (assignment_expression "puVar12 = PTR_states_0008d7f8" (identifier "puVar12") (= "=") (identifier "PTR_states_0008d7f8")) (; ";")) (expression_statement "puVar4 = PTR_LAB_0008d628;" (assignment_expression "puVar4 = PTR_LAB_0008d628" (identifier "puVar4") (= "=") (identifier "PTR_LAB_0008d628")) (; ";")) (expression_statement "piVar16 = (int *)puVar5;" (assignment_expression "piVar16 = (int *)puVar5" (identifier "piVar16") (= "=") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (; ";")) (if_statement "if (0 < iVar29) {\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" (if "if") (parenthesized_expression "(0 < iVar29)" (( "(") (binary_expression "0 < iVar29" (number_literal "0") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n        local_c0 = (undefined *)0x0;\n        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);\n        local_bc = PTR_DAT_0008d800 + -0x4654;\n        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);\n        do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);\n        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);\n      }" ({ "{") (expression_statement "local_c0 = (undefined *)0x0;" (assignment_expression "local_c0 = (undefined *)0x0" (identifier "local_c0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);" (assignment_expression "pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc)" (identifier "pcVar17") (= "=") (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4cdc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0008db4c + -0x4cdc)" (( "(") (binary_expression "PTR_LAB_0008db4c + -0x4cdc" (identifier "PTR_LAB_0008db4c") (+ "+") (number_literal "-0x4cdc")) () ")")))) (; ";")) (expression_statement "local_bc = PTR_DAT_0008d800 + -0x4654;" (assignment_expression "local_bc = PTR_DAT_0008d800 + -0x4654" (identifier "local_bc") (= "=") (binary_expression "PTR_DAT_0008d800 + -0x4654" (identifier "PTR_DAT_0008d800") (+ "+") (number_literal "-0x4654"))) (; ";")) (expression_statement "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);" (assignment_expression "local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10)" (identifier "local_c8") (= "=") (cast_expression "(code *)(PTR_LAB_0008db4c + -0x4f10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0008db4c + -0x4f10)" (( "(") (binary_expression "PTR_LAB_0008db4c + -0x4f10" (identifier "PTR_LAB_0008db4c") (+ "+") (number_literal "-0x4f10")) () ")")))) (; ";")) (do_statement "do {\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        } while ((int)local_c0 < *(int *)puVar5);" (do "do") (compound_statement "{\n          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);\n          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);\n          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);\n          puVar22 = *(undefined1 **)(puVar10 + 0x14);\n          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }\n          piVar24 = unaff_s6 + 10;\n          piVar16 = (int *)unaff_s6[9];\n          if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }\n          unaff_s8 = piVar16;\n          if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }\n          (*pcVar17)(unaff_s6[2],puVar10,1);\n          piVar16 = (int *)unaff_s6[4];\n          piVar24 = (int *)*piVar16;\n          if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }\nLAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];\n          if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }\n          (*pcVar17)(iVar29,puVar10,0);\n          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }\n          local_c0 = local_c0 + 1;\n        }" ({ "{") (expression_statement "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);" (assignment_expression "unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4)" (identifier "unaff_s6") (= "=") (pointer_expression "*(int **)(*(int *)puVar12 + (int)local_c0 * 4)" (* "*") (cast_expression "(int **)(*(int *)puVar12 + (int)local_c0 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar12 + (int)local_c0 * 4)" (( "(") (binary_expression "*(int *)puVar12 + (int)local_c0 * 4" (pointer_expression "*(int *)puVar12" (* "*") (cast_expression "(int *)puVar12" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar12"))) (+ "+") (binary_expression "(int)local_c0 * 4" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0008df80"))) () ")")) (argument_list "(puVar3 + 0x4938,1,2,puVar10)" (( "(") (binary_expression "puVar3 + 0x4938" (identifier "puVar3") (+ "+") (number_literal "0x4938")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,puVar4 + 0x7128,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar4 + 0x7128" (identifier "puVar4") (+ "+") (number_literal "0x7128")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,uVar11,*unaff_s6)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "uVar11") (, ",") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) () ")"))) (; ";")) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }\n          else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n            *puVar22 = 10;\n          }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR___overflow_0008de84)(puVar10,10);\n          }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar24 = unaff_s6 + 10;" (assignment_expression "piVar24 = unaff_s6 + 10" (identifier "piVar24") (= "=") (binary_expression "unaff_s6 + 10" (identifier "unaff_s6") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "piVar16 = (int *)unaff_s6[9];" (assignment_expression "piVar16 = (int *)unaff_s6[9]" (identifier "piVar16") (= "=") (cast_expression "(int *)unaff_s6[9]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[9]" (identifier "unaff_s6") ([ "[") (number_literal "9") (] "]")))) (; ";")) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" (if "if") (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" (( "(") (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" (( "(") (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" (* "*") (cast_expression "(uint *)puVar2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);\n            piVar24 = *(int **)PTR_itemset_0008d7e4;\n            piVar16 = *(int **)PTR_nitemset_0008d7d8;\n          }" ({ "{") (expression_statement "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);" (call_expression "(*(code *)PTR_closure_0008d7dc)(piVar24,piVar16)" (parenthesized_expression "(*(code *)PTR_closure_0008d7dc)" (( "(") (pointer_expression "*(code *)PTR_closure_0008d7dc" (* "*") (cast_expression "(code *)PTR_closure_0008d7dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_closure_0008d7dc"))) () ")")) (argument_list "(piVar24,piVar16)" (( "(") (identifier "piVar24") (, ",") (identifier "piVar16") () ")"))) (; ";")) (expression_statement "piVar24 = *(int **)PTR_itemset_0008d7e4;" (assignment_expression "piVar24 = *(int **)PTR_itemset_0008d7e4" (identifier "piVar24") (= "=") (pointer_expression "*(int **)PTR_itemset_0008d7e4" (* "*") (cast_expression "(int **)PTR_itemset_0008d7e4" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_itemset_0008d7e4")))) (; ";")) (expression_statement "piVar16 = *(int **)PTR_nitemset_0008d7d8;" (assignment_expression "piVar16 = *(int **)PTR_nitemset_0008d7d8" (identifier "piVar16") (= "=") (pointer_expression "*(int **)PTR_nitemset_0008d7d8" (* "*") (cast_expression "(int **)PTR_nitemset_0008d7d8" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_nitemset_0008d7d8")))) (; ";")) (} "}"))) (expression_statement "unaff_s8 = piVar16;" (assignment_expression "unaff_s8 = piVar16" (identifier "unaff_s8") (= "=") (identifier "piVar16")) (; ";")) (if_statement "if (piVar16 != (int *)0x0) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" (if "if") (parenthesized_expression "(piVar16 != (int *)0x0)" (( "(") (binary_expression "piVar16 != (int *)0x0" (identifier "piVar16") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            unaff_s4 = (int *)PTR_symbols_0008d7a4;\n            unaff_s3 = (int *)PTR_rules_0008d784;\n            unaff_s8 = (int *)PTR_ritem_0008d780;\n            piVar16 = piVar24 + (int)piVar16;\n            local_dc = (undefined *)0x0;\n            local_b8 = PTR_LAB_0008d628 + 0x7138;\n            do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);\n          }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" (identifier "unaff_s4") (= "=") (cast_expression "(int *)PTR_symbols_0008d7a4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_symbols_0008d7a4"))) (; ";")) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" (identifier "unaff_s3") (= "=") (cast_expression "(int *)PTR_rules_0008d784" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rules_0008d784"))) (; ";")) (expression_statement "unaff_s8 = (int *)PTR_ritem_0008d780;" (assignment_expression "unaff_s8 = (int *)PTR_ritem_0008d780" (identifier "unaff_s8") (= "=") (cast_expression "(int *)PTR_ritem_0008d780" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ritem_0008d780"))) (; ";")) (expression_statement "piVar16 = piVar24 + (int)piVar16;" (assignment_expression "piVar16 = piVar24 + (int)piVar16" (identifier "piVar16") (= "=") (binary_expression "piVar24 + (int)piVar16" (identifier "piVar24") (+ "+") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")))) (; ";")) (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" (identifier "local_dc") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b8 = PTR_LAB_0008d628 + 0x7138;" (assignment_expression "local_b8 = PTR_LAB_0008d628 + 0x7138" (identifier "local_b8") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x7138" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7138"))) (; ";")) (do_statement "do {\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            } while (piVar16 != piVar24);" (do "do") (compound_statement "{\n              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);\n              uVar30 = *puVar27;\n              puVar31 = puVar27;\n              while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }\n              iVar29 = ~uVar30 * 0x60;\n              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);\n              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);\n              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);\n              puVar32 = puVar31;\n              if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }\n              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);\n              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }\n              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              piVar24 = piVar24 + 1;\n            }" ({ "{") (expression_statement "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);" (assignment_expression "puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4)" (identifier "puVar27") (= "=") (cast_expression "(uint *)(*unaff_s8 + *piVar24 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*unaff_s8 + *piVar24 * 4)" (( "(") (binary_expression "*unaff_s8 + *piVar24 * 4" (pointer_expression "*unaff_s8" (* "*") (identifier "unaff_s8")) (+ "+") (binary_expression "*piVar24 * 4" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar30 = *puVar27;" (assignment_expression "uVar30 = *puVar27" (identifier "uVar30") (= "=") (pointer_expression "*puVar27" (* "*") (identifier "puVar27"))) (; ";")) (expression_statement "puVar31 = puVar27;" (assignment_expression "puVar31 = puVar27" (identifier "puVar31") (= "=") (identifier "puVar27")) (; ";")) (while_statement "while (-1 < (int)uVar30) {\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" (while "while") (parenthesized_expression "(-1 < (int)uVar30)" (( "(") (binary_expression "-1 < (int)uVar30" (number_literal "-1") (< "<") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30"))) () ")")) (compound_statement "{\n                puVar31 = puVar31 + 1;\n                uVar30 = *puVar31;\n              }" ({ "{") (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + 1" (identifier "puVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" (identifier "uVar30") (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (} "}"))) (expression_statement "iVar29 = ~uVar30 * 0x60;" (assignment_expression "iVar29 = ~uVar30 * 0x60" (identifier "iVar29") (= "=") (binary_expression "~uVar30 * 0x60" (unary_expression "~uVar30" (~ "~") (identifier "uVar30")) (* "*") (number_literal "0x60"))) (; ";")) (expression_statement "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);" (call_expression "rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10)" (identifier "rule_lhs_print") (argument_list "(*unaff_s3 + iVar29,local_dc,puVar10)" (( "(") (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (, ",") (identifier "local_dc") (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);" (assignment_expression "puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc)" (identifier "puVar31") (= "=") (pointer_expression "*(uint **)(*unaff_s3 + iVar29 + 0xc)" (* "*") (cast_expression "(uint **)(*unaff_s3 + iVar29 + 0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" (( "(") (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);" (assignment_expression "local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8)" (identifier "local_dc") (= "=") (pointer_expression "*(undefined **)(*unaff_s3 + iVar29 + 8)" (* "*") (cast_expression "(undefined **)(*unaff_s3 + iVar29 + 8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s3 + iVar29 + 8)" (( "(") (binary_expression "*unaff_s3 + iVar29 + 8" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar32 = puVar31;" (assignment_expression "puVar32 = puVar31" (identifier "puVar32") (= "=") (identifier "puVar31")) (; ";")) (if_statement "if (puVar31 < puVar27) {\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" (if "if") (parenthesized_expression "(puVar31 < puVar27)" (( "(") (binary_expression "puVar31 < puVar27" (identifier "puVar31") (< "<") (identifier "puVar27")) () ")")) (compound_statement "{\n                do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);\n                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;\n              }" ({ "{") (do_statement "do {\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                } while (puVar33 < puVar27);" (do "do") (compound_statement "{\n                  puVar33 = puVar32 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));\n                  puVar32 = puVar33;\n                }" ({ "{") (expression_statement "puVar33 = puVar32 + 1;" (assignment_expression "puVar33 = puVar32 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar32 + 1" (identifier "puVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4))" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_bc") (, ",") (pointer_expression "**(undefined4 **)(*unaff_s4 + *puVar32 * 4)" (* "*") (pointer_expression "*(undefined4 **)(*unaff_s4 + *puVar32 * 4)" (* "*") (cast_expression "(undefined4 **)(*unaff_s4 + *puVar32 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s4 + *puVar32 * 4)" (( "(") (binary_expression "*unaff_s4 + *puVar32 * 4" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (+ "+") (binary_expression "*puVar32 * 4" (pointer_expression "*puVar32" (* "*") (identifier "puVar32")) (* "*") (number_literal "4"))) () ")"))))) () ")"))) (; ";")) (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" (identifier "puVar32") (= "=") (identifier "puVar33")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar33 < puVar27)" (( "(") (binary_expression "puVar33 < puVar27" (identifier "puVar33") (< "<") (identifier "puVar27")) () ")")) (; ";")) (expression_statement "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;" (assignment_expression "puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1" (binary_expression "puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" (identifier "puVar31") (+ "+") (parenthesized_expression "((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2)" (( "(") (binary_expression "(uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2" (call_expression "(uint)((int)puVar27 + (-1 - (int)puVar31))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar27 + (-1 - (int)puVar31))" (( "(") (binary_expression "(int)puVar27 + (-1 - (int)puVar31)" (cast_expression "(int)puVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar27")) (+ "+") (parenthesized_expression "(-1 - (int)puVar31)" (( "(") (binary_expression "-1 - (int)puVar31" (number_literal "-1") (- "-") (cast_expression "(int)puVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar31"))) () ")"))) () ")"))) (>> ">>") (number_literal "2")) () ")"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);" (call_expression "(*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_0008df80)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_0008df80" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_0008df80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_0008df80"))) () ")")) (argument_list "(puVar4 + 0x7134,1,2,puVar10)" (( "(") (binary_expression "puVar4 + 0x7134" (identifier "puVar4") (+ "+") (number_literal "0x7134")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (identifier "puVar10") () ")"))) (; ";")) (if_statement "if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }\n              else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" (if "if") (parenthesized_expression "(**(int **)(*unaff_s3 + iVar29 + 0xc) < 0)" (( "(") (binary_expression "**(int **)(*unaff_s3 + iVar29 + 0xc) < 0" (pointer_expression "**(int **)(*unaff_s3 + iVar29 + 0xc)" (* "*") (pointer_expression "*(int **)(*unaff_s3 + iVar29 + 0xc)" (* "*") (cast_expression "(int **)(*unaff_s3 + iVar29 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s3 + iVar29 + 0xc)" (( "(") (binary_expression "*unaff_s3 + iVar29 + 0xc" (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (+ "+") (number_literal "0xc")) () ")"))))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);\n              }" ({ "{") (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_b8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_b8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" (else "else") (compound_statement "{\n                uVar30 = *puVar31;\n                while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }\n              }" ({ "{") (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" (identifier "uVar30") (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (while_statement "while (-1 < (int)uVar30) {\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" (while "while") (parenthesized_expression "(-1 < (int)uVar30)" (( "(") (binary_expression "-1 < (int)uVar30" (number_literal "-1") (< "<") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30"))) () ")")) (compound_statement "{\n                  puVar31 = puVar31 + 1;\n                  (*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));\n                  uVar30 = *puVar31;\n                }" ({ "{") (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + 1" (identifier "puVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)\n                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4))" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_bc") (, ",") (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar30 * 4)" (* "*") (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar30 * 4)" (* "*") (cast_expression "(undefined4 **)(*unaff_s4 + uVar30 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s4 + uVar30 * 4)" (( "(") (binary_expression "*unaff_s4 + uVar30 * 4" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (+ "+") (binary_expression "uVar30 * 4" (identifier "uVar30") (* "*") (number_literal "4"))) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar30 = *puVar31;" (assignment_expression "uVar30 = *puVar31" (identifier "uVar30") (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" (if "if") (parenthesized_expression "(((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27))" (( "(") (binary_expression "((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)" (parenthesized_expression "((*(uint *)puVar2 & 4) == 0)" (( "(") (binary_expression "(*(uint *)puVar2 & 4) == 0" (parenthesized_expression "(*(uint *)puVar2 & 4)" (( "(") (binary_expression "*(uint *)puVar2 & 4" (pointer_expression "*(uint *)puVar2" (* "*") (cast_expression "(uint *)puVar2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)*puVar27)" (( "(") (binary_expression "-1 < (int)*puVar27" (number_literal "-1") (< "<") (cast_expression "(int)*puVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*puVar27" (* "*") (identifier "puVar27")))) () ")"))) () ")")) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;\nLAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (goto_statement "goto LAB_0003be58;" (goto "goto") (statement_identifier "LAB_0003be58") (; ";"))) (labeled_statement "LAB_0003c60c:\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);" (statement_identifier "LAB_0003c60c") (: ":") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" (else "else") (compound_statement "{\n                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;\nLAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" ({ "{") (expression_statement "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);" (call_expression "state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10)" (identifier "state_rule_lookahead_tokens_print") (argument_list "(unaff_s6,*unaff_s3 + iVar29,puVar10)" (( "(") (identifier "unaff_s6") (, ",") (binary_expression "*unaff_s3 + iVar29" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (identifier "iVar29")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;" (if "if") (parenthesized_expression "(*(undefined1 **)(puVar10 + 0x18) <= puVar22)" (( "(") (binary_expression "*(undefined1 **)(puVar10 + 0x18) <= puVar22" (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (identifier "puVar22")) () ")")) (goto_statement "goto LAB_0003c60c;" (goto "goto") (statement_identifier "LAB_0003c60c") (; ";"))) (labeled_statement "LAB_0003be58:\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (statement_identifier "LAB_0003be58") (: ":") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")))) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" (identifier "piVar24") (= "=") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar16 != piVar24)" (( "(") (binary_expression "piVar16 != piVar24" (identifier "piVar16") (!= "!=") (identifier "piVar24")) () ")")) (; ";")) (} "}"))) (expression_statement "(*pcVar17)(unaff_s6[2],puVar10,1);" (call_expression "(*pcVar17)(unaff_s6[2],puVar10,1)" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "(unaff_s6[2],puVar10,1)" (( "(") (subscript_expression "unaff_s6[2]" (identifier "unaff_s6") ([ "[") (number_literal "2") (] "]")) (, ",") (identifier "puVar10") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "piVar16 = (int *)unaff_s6[4];" (assignment_expression "piVar16 = (int *)unaff_s6[4]" (identifier "piVar16") (= "=") (cast_expression "(int *)unaff_s6[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[4]" (identifier "unaff_s6") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "piVar24 = (int *)*piVar16;" (assignment_expression "piVar24 = (int *)*piVar16" (identifier "piVar24") (= "=") (cast_expression "(int *)*piVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";")) (if_statement "if (0 < (int)piVar24) {\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(0 < (int)piVar24)" (( "(") (binary_expression "0 < (int)piVar24" (number_literal "0") (< "<") (cast_expression "(int)piVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar24"))) () ")")) (compound_statement "{\n            piVar26 = piVar16 + 1;\n            uVar30 = 0;\n            unaff_s4 = (int *)0x0;\n            unaff_s3 = piVar26;\n            do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);\n            if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }\n          }" ({ "{") (expression_statement "piVar26 = piVar16 + 1;" (assignment_expression "piVar26 = piVar16 + 1" (identifier "piVar26") (= "=") (binary_expression "piVar16 + 1" (identifier "piVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" (identifier "uVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" (identifier "unaff_s4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s3 = piVar26;" (assignment_expression "unaff_s3 = piVar26" (identifier "unaff_s3") (= "=") (identifier "piVar26")) (; ";")) (do_statement "do {\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            } while (unaff_s4 != piVar24);" (do "do") (compound_statement "{\n              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }\n              unaff_s4 = (int *)((int)unaff_s4 + 1);\n              unaff_s3 = unaff_s3 + 1;\n            }" ({ "{") (if_statement "if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )) {\n                uVar30 = uVar18;\n              }" (if "if") (parenthesized_expression "(((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 ))" (( "(") (binary_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&\n                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" (parenthesized_expression "((undefined4 *)*unaff_s3 != (undefined4 *)0x0)" (( "(") (binary_expression "(undefined4 *)*unaff_s3 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*unaff_s3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3"))) (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18\n                 )" (( "(") (comma_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18" (assignment_expression "uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(*(undefined4 *)*unaff_s3)" (( "(") (pointer_expression "*(undefined4 *)*unaff_s3" (* "*") (cast_expression "(undefined4 *)*unaff_s3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")))) () ")")))) (, ",") (binary_expression "uVar30 < uVar18" (identifier "uVar30") (< "<") (identifier "uVar18"))) () ")"))) () ")")) (compound_statement "{\n                uVar30 = uVar18;\n              }" ({ "{") (expression_statement "uVar30 = uVar18;" (assignment_expression "uVar30 = uVar18" (identifier "uVar30") (= "=") (identifier "uVar18")) (; ";")) (} "}"))) (expression_statement "unaff_s4 = (int *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (int *)((int)unaff_s4 + 1)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)((int)unaff_s4 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + 1)" (( "(") (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + 1" (identifier "unaff_s3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s4 != piVar24)" (( "(") (binary_expression "unaff_s4 != piVar24" (identifier "unaff_s4") (!= "!=") (identifier "piVar24")) () ")")) (; ";")) (if_statement "if (uVar30 != 0) {\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" (if "if") (parenthesized_expression "(uVar30 != 0)" (( "(") (binary_expression "uVar30 != 0" (identifier "uVar30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              puVar22 = *(undefined1 **)(puVar10 + 0x14);\n              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }\n              iVar29 = *piVar16;\n              if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }\n            }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }\n              else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                *puVar22 = 10;\n              }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" (else "else") (compound_statement "{\n                (*(code *)PTR___overflow_0008de84)(puVar10,10);\n              }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" (identifier "iVar29") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (if_statement "if (0 < iVar29) {\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" (if "if") (parenthesized_expression "(0 < iVar29)" (( "(") (binary_expression "0 < iVar29" (number_literal "0") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n                unaff_s3 = (int *)0x0;\n                puVar13 = PTR_LAB_0008d628 + 0x7028;\n                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);\n                do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);\n              }" ({ "{") (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar13 = PTR_LAB_0008d628 + 0x7028;" (assignment_expression "puVar13 = PTR_LAB_0008d628 + 0x7028" (identifier "puVar13") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x7028" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7028"))) (; ";")) (expression_statement "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);" (assignment_expression "unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)(PTR_LAB_0008d628 + 0x7144)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0008d628 + 0x7144)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x7144" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7144")) () ")")))) (; ";")) (do_statement "do {\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                } while ((int)unaff_s3 < iVar29);" (do "do") (compound_statement "{\n                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }\n                  unaff_s3 = (int *)((int)unaff_s3 + 1);\n                  piVar26 = piVar26 + 1;\n                }" ({ "{") (while_statement "while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" (while "while") (parenthesized_expression "((undefined4 *)*piVar26 != (undefined4 *)0x0)" (( "(") (binary_expression "(undefined4 *)*piVar26 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*piVar26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    uVar11 = *(undefined4 *)*piVar26;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);\n                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);\n                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);\n                    if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }\n                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    piVar26 = piVar26 + 1;\n                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);\n                    iVar29 = *piVar16;\n                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;\n                  }" ({ "{") (expression_statement "uVar11 = *(undefined4 *)*piVar26;" (assignment_expression "uVar11 = *(undefined4 *)*piVar26" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)*piVar26" (* "*") (cast_expression "(undefined4 *)*piVar26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,puVar13,uVar11)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "unaff_s8 = (int *)((uVar30 + 2) - iVar29);" (assignment_expression "unaff_s8 = (int *)((uVar30 + 2) - iVar29)" (identifier "unaff_s8") (= "=") (cast_expression "(int *)((uVar30 + 2) - iVar29)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar30 + 2) - iVar29)" (( "(") (binary_expression "(uVar30 + 2) - iVar29" (parenthesized_expression "(uVar30 + 2)" (( "(") (binary_expression "uVar30 + 2" (identifier "uVar30") (+ "+") (number_literal "2")) () ")")) (- "-") (identifier "iVar29")) () ")")))) (; ";")) (if_statement "if (0 < (int)unaff_s8) {\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" (if "if") (parenthesized_expression "(0 < (int)unaff_s8)" (( "(") (binary_expression "0 < (int)unaff_s8" (number_literal "0") (< "<") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))) () ")")) (compound_statement "{\n                      do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);\n                    }" ({ "{") (do_statement "do {\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      } while (unaff_s8 != (int *)0x0);" (do "do") (compound_statement "{\n                        puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }\n                        unaff_s8 = (int *)((int)unaff_s8 + -1);\n                      }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }\n                        else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                          *puVar22 = 0x20;\n                        }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 0x20;" (assignment_expression "*puVar22 = 0x20" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "0x20")) (; ";")) (} "}")) (else_clause "else {\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" (else "else") (compound_statement "{\n                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);\n                        }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,0x20);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,0x20)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,0x20)" (( "(") (identifier "puVar10") (, ",") (number_literal "0x20") () ")"))) (; ";")) (} "}")))) (expression_statement "unaff_s8 = (int *)((int)unaff_s8 + -1);" (assignment_expression "unaff_s8 = (int *)((int)unaff_s8 + -1)" (identifier "unaff_s8") (= "=") (cast_expression "(int *)((int)unaff_s8 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + -1)" (( "(") (binary_expression "(int)unaff_s8 + -1" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s8 != (int *)0x0)" (( "(") (binary_expression "unaff_s8 != (int *)0x0" (identifier "unaff_s8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,unaff_s4,5)" (( "(") (number_literal "0") (, ",") (identifier "unaff_s4") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" (identifier "piVar26") (= "=") (binary_expression "piVar26 + 1" (identifier "piVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_0008dfe0"))) () ")")) (argument_list "(uVar11,puVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "iVar29 = *piVar16;" (assignment_expression "iVar29 = *piVar16" (identifier "iVar29") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (if_statement "if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;" (if "if") (parenthesized_expression "(iVar29 <= (int)unaff_s3)" (( "(") (binary_expression "iVar29 <= (int)unaff_s3" (identifier "iVar29") (<= "<=") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")) (goto_statement "goto LAB_0003bfe0;" (goto "goto") (statement_identifier "LAB_0003bfe0") (; ";"))) (} "}"))) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" (identifier "piVar26") (= "=") (binary_expression "piVar26 + 1" (identifier "piVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s3 < iVar29)" (( "(") (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (< "<") (identifier "iVar29")) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0003bfe0:\n          piVar16 = (int *)unaff_s6[3];" (statement_identifier "LAB_0003bfe0") (: ":") (expression_statement "piVar16 = (int *)unaff_s6[3];" (assignment_expression "piVar16 = (int *)unaff_s6[3]" (identifier "piVar16") (= "=") (cast_expression "(int *)unaff_s6[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[3]" (identifier "unaff_s6") ([ "[") (number_literal "3") (] "]")))) (; ";"))) (if_statement "if (*piVar16 == 0) {\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }\n          else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" (if "if") (parenthesized_expression "(*piVar16 == 0)" (( "(") (binary_expression "*piVar16 == 0" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c4e4:\n            iVar29 = unaff_s6[2];\n          }" ({ "{") (labeled_statement "LAB_0003c4e4:\n            iVar29 = unaff_s6[2];" (statement_identifier "LAB_0003c4e4") (: ":") (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" (identifier "iVar29") (= "=") (subscript_expression "unaff_s6[2]" (identifier "unaff_s6") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" (else "else") (compound_statement "{\n            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);\n            if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }\n            piVar24 = (int *)unaff_s6[2];\n            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));\n            iVar29 = *piVar24;\n            if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }\n            piVar24 = (int *)unaff_s6[4];\n            iVar29 = 0;\n            if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }\n            if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }\n            if (piVar16[1] == 0) goto LAB_0003c4e4;\n            uVar30 = 0;\n            if (0 < *(int *)puVar6) goto LAB_0003c1e8;\n            iVar29 = unaff_s6[2];\n          }" ({ "{") (expression_statement "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);" (assignment_expression "iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" (* "*") (cast_expression "(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4)" (( "(") (binary_expression "*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4" (pointer_expression "*(int *)PTR_yydefact_0008d968" (* "*") (cast_expression "(int *)PTR_yydefact_0008d968" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_yydefact_0008d968"))) (+ "+") (binary_expression "*unaff_s6 * 4" (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar29 == 0) {\n              local_dc = (undefined *)0x0;\n            }\n            else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_dc = (undefined *)0x0;\n            }" ({ "{") (expression_statement "local_dc = (undefined *)0x0;" (assignment_expression "local_dc = (undefined *)0x0" (identifier "local_dc") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" (else "else") (compound_statement "{\n              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);\n              unaff_s3 = (int *)PTR_rules_0008d784;\n            }" ({ "{") (expression_statement "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);" (assignment_expression "local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" (identifier "local_dc") (= "=") (cast_expression "(undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60)" (( "(") (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60" (binary_expression "*(int *)PTR_rules_0008d784 + iVar29 * 0x60" (pointer_expression "*(int *)PTR_rules_0008d784" (* "*") (cast_expression "(int *)PTR_rules_0008d784" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rules_0008d784"))) (+ "+") (binary_expression "iVar29 * 0x60" (identifier "iVar29") (* "*") (number_literal "0x60"))) (+ "+") (number_literal "-0x60")) () ")")))) (; ";")) (expression_statement "unaff_s3 = (int *)PTR_rules_0008d784;" (assignment_expression "unaff_s3 = (int *)PTR_rules_0008d784" (identifier "unaff_s3") (= "=") (cast_expression "(int *)PTR_rules_0008d784" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rules_0008d784"))) (; ";")) (} "}")))) (expression_statement "piVar24 = (int *)unaff_s6[2];" (assignment_expression "piVar24 = (int *)unaff_s6[2]" (identifier "piVar24") (= "=") (cast_expression "(int *)unaff_s6[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[2]" (identifier "unaff_s6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));" (call_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0))" (parenthesized_expression "(**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))" (( "(") (pointer_expression "**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" (* "*") (pointer_expression "*(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" (* "*") (cast_expression "(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar1 + -0x1cf0) + 0x24)" (( "(") (binary_expression "**(int **)(puVar1 + -0x1cf0) + 0x24" (pointer_expression "**(int **)(puVar1 + -0x1cf0)" (* "*") (pointer_expression "*(int **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(int **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "(*(int **)(puVar1 + -0x1cf0))" (( "(") (pointer_expression "*(int **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(int **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" (identifier "iVar29") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (if_statement "if (0 < iVar29) {\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" (if "if") (parenthesized_expression "(0 < iVar29)" (( "(") (binary_expression "0 < iVar29" (number_literal "0") (< "<") (identifier "iVar29")) () ")")) (compound_statement "{\n              unaff_s4 = piVar24 + 1;\n              unaff_s3 = (int *)0x0;\nLAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);\n            }" ({ "{") (expression_statement "unaff_s4 = piVar24 + 1;" (assignment_expression "unaff_s4 = piVar24 + 1" (identifier "unaff_s4") (= "=") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0003c088:\n              do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" (statement_identifier "LAB_0003c088") (: ":") (do_statement "do {\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              } while ((int)unaff_s3 < iVar29);" (do "do") (compound_statement "{\n                if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }\n                unaff_s3 = (int *)((int)unaff_s3 + 1);\n                unaff_s4 = unaff_s4 + 1;\n              }" ({ "{") (if_statement "if (*unaff_s4 != 0) {\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" (if "if") (parenthesized_expression "(*unaff_s4 != 0)" (( "(") (binary_expression "*unaff_s4 != 0" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar30 = *(uint *)(*unaff_s4 + 4);\n                  if (*(int *)puVar6 <= (int)uVar30) break;\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = (uVar30 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);\n                }" ({ "{") (expression_statement "uVar30 = *(uint *)(*unaff_s4 + 4);" (assignment_expression "uVar30 = *(uint *)(*unaff_s4 + 4)" (identifier "uVar30") (= "=") (pointer_expression "*(uint *)(*unaff_s4 + 4)" (* "*") (cast_expression "(uint *)(*unaff_s4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*unaff_s4 + 4)" (( "(") (binary_expression "*unaff_s4 + 4" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (*(int *)puVar6 <= (int)uVar30) break;" (if "if") (parenthesized_expression "(*(int *)puVar6 <= (int)uVar30)" (( "(") (binary_expression "*(int *)puVar6 <= (int)uVar30" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (<= "<=") (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" (identifier "puVar25") (= "=") (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (; ";")) (expression_statement "uVar18 = (uVar30 >> 5) - puVar25[1];" (assignment_expression "uVar18 = (uVar30 >> 5) - puVar25[1]" (identifier "uVar18") (= "=") (binary_expression "(uVar30 >> 5) - puVar25[1]" (parenthesized_expression "(uVar30 >> 5)" (( "(") (binary_expression "uVar30 >> 5" (identifier "uVar30") (>> ">>") (number_literal "5")) () ")")) (- "-") (subscript_expression "puVar25[1]" (identifier "puVar25") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((uint)puVar25[2] <= uVar18) {\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" (if "if") (parenthesized_expression "((uint)puVar25[2] <= uVar18)" (( "(") (binary_expression "(uint)puVar25[2] <= uVar18" (cast_expression "(uint)puVar25[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar25[2]" (identifier "puVar25") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "uVar18")) () ")")) (compound_statement "{\n                    unaff_s3 = (int *)((int)unaff_s3 + 1);\n                    unaff_s4 = unaff_s4 + 1;\n                    (**(code **)*puVar25)();\n                    iVar29 = *piVar24;\n                    if (iVar29 <= (int)unaff_s3) break;\n                    goto LAB_0003c088;\n                  }" ({ "{") (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" (identifier "unaff_s4") (= "=") (binary_expression "unaff_s4 + 1" (identifier "unaff_s4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" (( "(") (pointer_expression "**(code **)*puVar25" (* "*") (pointer_expression "*(code **)*puVar25" (* "*") (cast_expression "(code **)*puVar25" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar29 = *piVar24;" (assignment_expression "iVar29 = *piVar24" (identifier "iVar29") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (if_statement "if (iVar29 <= (int)unaff_s3) break;" (if "if") (parenthesized_expression "(iVar29 <= (int)unaff_s3)" (( "(") (binary_expression "iVar29 <= (int)unaff_s3" (identifier "iVar29") (<= "<=") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_0003c088;" (goto "goto") (statement_identifier "LAB_0003c088") (; ";")) (} "}"))) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar18 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar18 * 4)" (identifier "puVar31") (= "=") (cast_expression "(uint *)(puVar25[3] + uVar18 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25[3] + uVar18 * 4)" (( "(") (binary_expression "puVar25[3] + uVar18 * 4" (subscript_expression "puVar25[3]" (identifier "puVar25") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (= "=") (binary_expression "*puVar31 | 1 << (uVar30 & 0x1f)" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (| "|") (binary_expression "1 << (uVar30 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar30 & 0x1f)" (( "(") (binary_expression "uVar30 & 0x1f" (identifier "uVar30") (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (} "}"))) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s4 = unaff_s4 + 1;" (assignment_expression "unaff_s4 = unaff_s4 + 1" (identifier "unaff_s4") (= "=") (binary_expression "unaff_s4 + 1" (identifier "unaff_s4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s3 < iVar29)" (( "(") (binary_expression "(int)unaff_s3 < iVar29" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (< "<") (identifier "iVar29")) () ")")) (; ";"))) (} "}"))) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" (identifier "piVar24") (= "=") (cast_expression "(int *)unaff_s6[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[4]" (identifier "unaff_s6") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *piVar24) {\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" (if "if") (parenthesized_expression "(0 < *piVar24)" (( "(") (binary_expression "0 < *piVar24" (number_literal "0") (< "<") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) () ")")) (compound_statement "{\nLAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);\n            }" ({ "{") (labeled_statement "LAB_0003c138:\n              do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" (statement_identifier "LAB_0003c138") (: ":") (do_statement "do {\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              } while (iVar29 < *piVar24);" (do "do") (compound_statement "{\n                if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }\n                iVar29 = iVar29 + 1;\n              }" ({ "{") (if_statement "if (piVar24[iVar29 + 1] != 0) {\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" (if "if") (parenthesized_expression "(piVar24[iVar29 + 1] != 0)" (( "(") (binary_expression "piVar24[iVar29 + 1] != 0" (subscript_expression "piVar24[iVar29 + 1]" (identifier "piVar24") ([ "[") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);\n                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);\n                  uVar30 = (uVar18 >> 5) - puVar25[1];\n                  if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }\n                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);\n                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);\n                }" ({ "{") (expression_statement "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);" (assignment_expression "puVar25 = *(undefined4 **)(puVar1 + -0x1cf0)" (identifier "puVar25") (= "=") (pointer_expression "*(undefined4 **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(undefined4 **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);" (assignment_expression "uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" (* "*") (cast_expression "(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80)" (( "(") (binary_expression "*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80" (pointer_expression "*(int *)(piVar24[iVar29 + 1] + 0x28)" (* "*") (cast_expression "(int *)(piVar24[iVar29 + 1] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar24[iVar29 + 1] + 0x28)" (( "(") (binary_expression "piVar24[iVar29 + 1] + 0x28" (subscript_expression "piVar24[iVar29 + 1]" (identifier "piVar24") ([ "[") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1")) (] "]")) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "uVar30 = (uVar18 >> 5) - puVar25[1];" (assignment_expression "uVar30 = (uVar18 >> 5) - puVar25[1]" (identifier "uVar30") (= "=") (binary_expression "(uVar18 >> 5) - puVar25[1]" (parenthesized_expression "(uVar18 >> 5)" (( "(") (binary_expression "uVar18 >> 5" (identifier "uVar18") (>> ">>") (number_literal "5")) () ")")) (- "-") (subscript_expression "puVar25[1]" (identifier "puVar25") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((uint)puVar25[2] <= uVar30) {\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" (if "if") (parenthesized_expression "((uint)puVar25[2] <= uVar30)" (( "(") (binary_expression "(uint)puVar25[2] <= uVar30" (cast_expression "(uint)puVar25[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar25[2]" (identifier "puVar25") ([ "[") (number_literal "2") (] "]"))) (<= "<=") (identifier "uVar30")) () ")")) (compound_statement "{\n                    iVar29 = iVar29 + 1;\n                    (**(code **)*puVar25)();\n                    piVar24 = (int *)unaff_s6[4];\n                    if (*piVar24 <= iVar29) break;\n                    goto LAB_0003c138;\n                  }" ({ "{") (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)*puVar25)();" (call_expression "(**(code **)*puVar25)()" (parenthesized_expression "(**(code **)*puVar25)" (( "(") (pointer_expression "**(code **)*puVar25" (* "*") (pointer_expression "*(code **)*puVar25" (* "*") (cast_expression "(code **)*puVar25" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar24 = (int *)unaff_s6[4];" (assignment_expression "piVar24 = (int *)unaff_s6[4]" (identifier "piVar24") (= "=") (cast_expression "(int *)unaff_s6[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s6[4]" (identifier "unaff_s6") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (*piVar24 <= iVar29) break;" (if "if") (parenthesized_expression "(*piVar24 <= iVar29)" (( "(") (binary_expression "*piVar24 <= iVar29" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (<= "<=") (identifier "iVar29")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_0003c138;" (goto "goto") (statement_identifier "LAB_0003c138") (; ";")) (} "}"))) (expression_statement "puVar31 = (uint *)(puVar25[3] + uVar30 * 4);" (assignment_expression "puVar31 = (uint *)(puVar25[3] + uVar30 * 4)" (identifier "puVar31") (= "=") (cast_expression "(uint *)(puVar25[3] + uVar30 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25[3] + uVar30 * 4)" (( "(") (binary_expression "puVar25[3] + uVar30 * 4" (subscript_expression "puVar25[3]" (identifier "puVar25") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "uVar30 * 4" (identifier "uVar30") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);" (assignment_expression "*puVar31 = *puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (= "=") (binary_expression "*puVar31 | 1 << (uVar18 & 0x1f)" (pointer_expression "*puVar31" (* "*") (identifier "puVar31")) (| "|") (binary_expression "1 << (uVar18 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar29 < *piVar24)" (( "(") (binary_expression "iVar29 < *piVar24" (identifier "iVar29") (< "<") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) () ")")) (; ";"))) (} "}"))) (if_statement "if (local_dc != (undefined *)0x0) {\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" (if "if") (parenthesized_expression "(local_dc != (undefined *)0x0)" (( "(") (binary_expression "local_dc != (undefined *)0x0" (identifier "local_dc") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);\n              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }\n              if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }\n              goto LAB_0003c4e4;\n            }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x6fb8" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x6fb8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);" (assignment_expression "uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11)" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(uVar11)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (if_statement "if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" (if "if") (parenthesized_expression "((piVar16[1] != 0) && (0 < *(int *)puVar6))" (( "(") (binary_expression "(piVar16[1] != 0) && (0 < *(int *)puVar6)" (parenthesized_expression "(piVar16[1] != 0)" (( "(") (binary_expression "piVar16[1] != 0" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(0 < *(int *)puVar6)" (( "(") (binary_expression "0 < *(int *)puVar6" (number_literal "0") (< "<") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")"))) () ")")) (compound_statement "{\nLAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;\n                uVar18 = 0;\n                do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);\n              }" ({ "{") (labeled_statement "LAB_0003c1e8:\n                unaff_s4 = (int *)PTR_symbols_0008d7a4;" (statement_identifier "LAB_0003c1e8") (: ":") (expression_statement "unaff_s4 = (int *)PTR_symbols_0008d7a4;" (assignment_expression "unaff_s4 = (int *)PTR_symbols_0008d7a4" (identifier "unaff_s4") (= "=") (cast_expression "(int *)PTR_symbols_0008d7a4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_symbols_0008d7a4"))) (; ";"))) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                } while ((int)uVar18 < *(int *)puVar6);" (do "do") (compound_statement "{\n                  piVar24 = *(int **)(puVar1 + -0x1cf0);\n                  uVar19 = (uVar18 >> 5) - piVar24[1];\n                  if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }\n                  unaff_s8 = (int *)*piVar16;\n                  piVar24 = piVar16 + 2;\n                  unaff_s3 = piVar24;\n                  if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }\n                  uVar18 = uVar18 + 1;\n                  local_b4 = unaff_s6;\n                  local_b0 = puVar10;\n                }" ({ "{") (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(int **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (; ";")) (expression_statement "uVar19 = (uVar18 >> 5) - piVar24[1];" (assignment_expression "uVar19 = (uVar18 >> 5) - piVar24[1]" (identifier "uVar19") (= "=") (binary_expression "(uVar18 >> 5) - piVar24[1]" (parenthesized_expression "(uVar18 >> 5)" (( "(") (binary_expression "uVar18 >> 5" (identifier "uVar18") (>> ">>") (number_literal "5")) () ")")) (- "-") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (uVar19 < (uint)piVar24[2]) {\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }\n                  else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" (if "if") (parenthesized_expression "(uVar19 < (uint)piVar24[2])" (( "(") (binary_expression "uVar19 < (uint)piVar24[2]" (identifier "uVar19") (< "<") (cast_expression "(uint)piVar24[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;\n                  }" ({ "{") (expression_statement "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" (identifier "uVar19") (= "=") (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + uVar19 * 4)" (* "*") (cast_expression "(uint *)(piVar24[3] + uVar19 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar24[3] + uVar19 * 4)" (( "(") (binary_expression "piVar24[3] + uVar19 * 4" (subscript_expression "piVar24[3]" (identifier "piVar24") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "uVar19 * 4" (identifier "uVar19") (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" (else "else") (compound_statement "{\n                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);\n                  }" ({ "{") (expression_statement "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);" (assignment_expression "uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" (identifier "uVar19") (= "=") (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar18)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar24 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar24 + 0xc)" (* "*") (cast_expression "(code **)(*piVar24 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar24 + 0xc)" (( "(") (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar24,uVar18)" (( "(") (identifier "piVar24") (, ",") (identifier "uVar18") () ")")))) (; ";")) (} "}")))) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" (identifier "unaff_s8") (= "=") (cast_expression "(int *)*piVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";")) (expression_statement "piVar24 = piVar16 + 2;" (assignment_expression "piVar24 = piVar16 + 2" (identifier "piVar24") (= "=") (binary_expression "piVar16 + 2" (identifier "piVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "unaff_s3 = piVar24;" (assignment_expression "unaff_s3 = piVar24" (identifier "unaff_s3") (= "=") (identifier "piVar24")) (; ";")) (if_statement "if (0 < (int)unaff_s8) {\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" (if "if") (parenthesized_expression "(0 < (int)unaff_s8)" (( "(") (binary_expression "0 < (int)unaff_s8" (number_literal "0") (< "<") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))) () ")")) (compound_statement "{\n                    local_b8 = (undefined *)(uVar18 & 0x1f);\n                    unaff_s3 = (int *)0x0;\n                    do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);\n                  }" ({ "{") (expression_statement "local_b8 = (undefined *)(uVar18 & 0x1f);" (assignment_expression "local_b8 = (undefined *)(uVar18 & 0x1f)" (identifier "local_b8") (= "=") (cast_expression "(undefined *)(uVar18 & 0x1f)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    } while ((int)unaff_s3 < (int)unaff_s8);" (do "do") (compound_statement "{\n                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);\n                      uVar20 = (uVar18 >> 5) - piVar26[1];\n                      if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }\n                      if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }\n                      unaff_s3 = (int *)((int)unaff_s3 + 1);\n                      piVar24 = piVar24 + 1;\n                    }" ({ "{") (expression_statement "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);" (assignment_expression "piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(piVar16[1] + (int)unaff_s3 * 4)" (* "*") (cast_expression "(int **)(piVar16[1] + (int)unaff_s3 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar16[1] + (int)unaff_s3 * 4)" (( "(") (binary_expression "piVar16[1] + (int)unaff_s3 * 4" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "(int)unaff_s3 * 4" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar20 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar20 = (uVar18 >> 5) - piVar26[1]" (identifier "uVar20") (= "=") (binary_expression "(uVar18 >> 5) - piVar26[1]" (parenthesized_expression "(uVar18 >> 5)" (( "(") (binary_expression "uVar18 >> 5" (identifier "uVar18") (>> ">>") (number_literal "5")) () ")")) (- "-") (subscript_expression "piVar26[1]" (identifier "piVar26") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (uVar20 < (uint)piVar26[2]) {\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }\n                      else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" (if "if") (parenthesized_expression "(uVar20 < (uint)piVar26[2])" (( "(") (binary_expression "uVar20 < (uint)piVar26[2]" (identifier "uVar20") (< "<") (cast_expression "(uint)piVar26[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar26[2]" (identifier "piVar26") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;\n                      }" ({ "{") (expression_statement "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" (identifier "uVar20") (= "=") (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1" (binary_expression "*(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8" (pointer_expression "*(uint *)(piVar26[3] + uVar20 * 4)" (* "*") (cast_expression "(uint *)(piVar26[3] + uVar20 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[3] + uVar20 * 4)" (( "(") (binary_expression "piVar26[3] + uVar20 * 4" (subscript_expression "piVar26[3]" (identifier "piVar26") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "uVar20 * 4" (identifier "uVar20") (* "*") (number_literal "4"))) () ")")))) (>> ">>") (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8"))) (& "&") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" (else "else") (compound_statement "{\n                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                        unaff_s8 = (int *)*piVar16;\n                      }" ({ "{") (expression_statement "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" (identifier "uVar20") (= "=") (call_expression "(**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" (parenthesized_expression "(**(code **)(*piVar26 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar26 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar26 + 0xc)" (* "*") (cast_expression "(code **)(*piVar26 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar26 + 0xc)" (( "(") (binary_expression "*piVar26 + 0xc" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar26,uVar18)" (( "(") (identifier "piVar26") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "unaff_s8 = (int *)*piVar16;" (assignment_expression "unaff_s8 = (int *)*piVar16" (identifier "unaff_s8") (= "=") (cast_expression "(int *)*piVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")))) (; ";")) (} "}")))) (if_statement "if (uVar20 != 0) {\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                      }" ({ "{") (if_statement "if (uVar19 == 0) {\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }\n                        else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" (if "if") (parenthesized_expression "(uVar19 == 0)" (( "(") (binary_expression "uVar19 == 0" (identifier "uVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          uVar19 = uVar20;\n                          if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }\n                        }" ({ "{") (expression_statement "uVar19 = uVar20;" (assignment_expression "uVar19 = uVar20" (identifier "uVar19") (= "=") (identifier "uVar20")) (; ";")) (if_statement "if ((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)) {\n                            uVar30 = uVar20;\n                          }" (if "if") (parenthesized_expression "((local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20))" (( "(") (binary_expression "(local_dc != (undefined *)*piVar24) &&\n                             (uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" (parenthesized_expression "(local_dc != (undefined *)*piVar24)" (( "(") (binary_expression "local_dc != (undefined *)*piVar24" (identifier "local_dc") (!= "!=") (cast_expression "(undefined *)*piVar24" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar24" (* "*") (identifier "piVar24")))) () ")")) (&& "&&") (parenthesized_expression "(uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20)" (( "(") (comma_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),\n                             uVar30 < uVar20" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)\n                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (( "(") (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" (* "*") (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" (* "*") (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" (( "(") (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (+ "+") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4"))) () ")"))))) () ")")))) (, ",") (binary_expression "uVar30 < uVar20" (identifier "uVar30") (< "<") (identifier "uVar20"))) () ")"))) () ")")) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" ({ "{") (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" (identifier "uVar30") (= "=") (identifier "uVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" (else "else") (compound_statement "{\n                          uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));\n                          if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }\n                        }" ({ "{") (expression_statement "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));" (assignment_expression "uVar20 = (*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (identifier "uVar20") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)\n                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(**(undefined4 **)(*unaff_s4 + uVar18 * 4))" (( "(") (pointer_expression "**(undefined4 **)(*unaff_s4 + uVar18 * 4)" (* "*") (pointer_expression "*(undefined4 **)(*unaff_s4 + uVar18 * 4)" (* "*") (cast_expression "(undefined4 **)(*unaff_s4 + uVar18 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*unaff_s4 + uVar18 * 4)" (( "(") (binary_expression "*unaff_s4 + uVar18 * 4" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (+ "+") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (if_statement "if (uVar30 < uVar20) {\n                            uVar30 = uVar20;\n                          }" (if "if") (parenthesized_expression "(uVar30 < uVar20)" (( "(") (binary_expression "uVar30 < uVar20" (identifier "uVar30") (< "<") (identifier "uVar20")) () ")")) (compound_statement "{\n                            uVar30 = uVar20;\n                          }" ({ "{") (expression_statement "uVar30 = uVar20;" (assignment_expression "uVar30 = uVar20" (identifier "uVar30") (= "=") (identifier "uVar20")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "unaff_s3 = (int *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s3 = (int *)((int)unaff_s3 + 1)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar24 = piVar24 + 1;" (assignment_expression "piVar24 = piVar24 + 1" (identifier "piVar24") (= "=") (binary_expression "piVar24 + 1" (identifier "piVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s3 < (int)unaff_s8)" (( "(") (binary_expression "(int)unaff_s3 < (int)unaff_s8" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (< "<") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_b4 = unaff_s6;" (assignment_expression "local_b4 = unaff_s6" (identifier "local_b4") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "local_b0 = puVar10;" (assignment_expression "local_b0 = puVar10" (identifier "local_b0") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar18 < *(int *)puVar6)" (( "(") (binary_expression "(int)uVar18 < *(int *)puVar6" (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18")) (< "<") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (; ";")) (} "}"))) (if_statement "if (uVar30 != 0) {\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" (if "if") (parenthesized_expression "(uVar30 != 0)" (( "(") (binary_expression "uVar30 != 0" (identifier "uVar30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                puVar22 = *(undefined1 **)(puVar10 + 0x14);\n                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }\n                puVar13 = PTR_symbols_0008d7a4;\n                iVar29 = uVar30 + 2;\n                if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }\n                if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }\n              }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }\n                else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n                  *puVar22 = 10;\n                }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" (else "else") (compound_statement "{\n                  (*(code *)PTR___overflow_0008de84)(puVar10,10);\n                }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar13 = PTR_symbols_0008d7a4;" (assignment_expression "puVar13 = PTR_symbols_0008d7a4" (identifier "puVar13") (= "=") (identifier "PTR_symbols_0008d7a4")) (; ";")) (expression_statement "iVar29 = uVar30 + 2;" (assignment_expression "iVar29 = uVar30 + 2" (identifier "iVar29") (= "=") (binary_expression "uVar30 + 2" (identifier "uVar30") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (piVar16[1] == 0) {\n                  unaff_s8 = (int *)0x1;\n                }\n                else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" (if "if") (parenthesized_expression "(piVar16[1] == 0)" (( "(") (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                }" ({ "{") (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" (else "else") (compound_statement "{\n                  unaff_s8 = (int *)0x1;\n                  if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }\n                }" ({ "{") (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (0 < *(int *)puVar6) {\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" (if "if") (parenthesized_expression "(0 < *(int *)puVar6)" (( "(") (binary_expression "0 < *(int *)puVar6" (number_literal "0") (< "<") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (compound_statement "{\n                    uVar30 = 0;\n                    unaff_s8 = (int *)0x1;\n                    do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);\n                  }" ({ "{") (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" (identifier "uVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s8 = (int *)0x1;" (assignment_expression "unaff_s8 = (int *)0x1" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (do_statement "do {\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    } while ((int)uVar30 < *(int *)puVar6);" (do "do") (compound_statement "{\n                      piVar24 = *(int **)(puVar1 + -0x1cf0);\n                      local_b8 = (undefined *)(uVar30 >> 5);\n                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }\n                      if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }\n                      if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }\n                      uVar30 = uVar30 + 1;\n                    }" ({ "{") (expression_statement "piVar24 = *(int **)(puVar1 + -0x1cf0);" (assignment_expression "piVar24 = *(int **)(puVar1 + -0x1cf0)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(int **)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (; ";")) (expression_statement "local_b8 = (undefined *)(uVar30 >> 5);" (assignment_expression "local_b8 = (undefined *)(uVar30 >> 5)" (identifier "local_b8") (= "=") (cast_expression "(undefined *)(uVar30 >> 5)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar30 >> 5)" (( "(") (binary_expression "uVar30 >> 5" (identifier "uVar30") (>> ">>") (number_literal "5")) () ")")))) (; ";")) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }\n                      else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" (if "if") (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" (( "(") (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_b8 - piVar24[1])" (( "(") (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (- "-") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(uint)piVar24[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;\n                      }" ({ "{") (expression_statement "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" (identifier "uVar18") (= "=") (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f) & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                 (uVar30 & 0x1f)" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (* "*") (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (( "(") (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" (identifier "piVar24") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" (( "(") (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (- "-") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]"))) () ")")) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(uVar30 & 0x1f)" (( "(") (binary_expression "uVar30 & 0x1f" (identifier "uVar30") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" (else "else") (compound_statement "{\n                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                      }" ({ "{") (expression_statement "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (identifier "uVar18") (= "=") (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar24 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar24 + 0xc)" (* "*") (cast_expression "(code **)(*piVar24 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar24 + 0xc)" (( "(") (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar24,uVar30)" (( "(") (identifier "piVar24") (, ",") (identifier "uVar30") () ")")))) (; ";")) (} "}")))) (if_statement "if (uVar18 != 0) {\n                        unaff_s8 = (int *)0x0;\n                      }" (if "if") (parenthesized_expression "(uVar18 != 0)" (( "(") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        unaff_s8 = (int *)0x0;\n                      }" ({ "{") (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (if_statement "if (0 < *piVar16) {\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" (if "if") (parenthesized_expression "(0 < *piVar16)" (( "(") (binary_expression "0 < *piVar16" (number_literal "0") (< "<") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n                        iVar23 = uVar30 * 4;\n                        unaff_s3 = piVar16 + 2;\n                        local_b0 = local_dc + 4;\n                        iVar15 = 0;\n                        local_b4 = (int *)(uVar30 & 0x1f);\n                        uVar19 = 0;\n                        do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);\n                      }" ({ "{") (expression_statement "iVar23 = uVar30 * 4;" (assignment_expression "iVar23 = uVar30 * 4" (identifier "iVar23") (= "=") (binary_expression "uVar30 * 4" (identifier "uVar30") (* "*") (number_literal "4"))) (; ";")) (expression_statement "unaff_s3 = piVar16 + 2;" (assignment_expression "unaff_s3 = piVar16 + 2" (identifier "unaff_s3") (= "=") (binary_expression "piVar16 + 2" (identifier "piVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_b0 = local_dc + 4;" (assignment_expression "local_b0 = local_dc + 4" (identifier "local_b0") (= "=") (binary_expression "local_dc + 4" (identifier "local_dc") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = (int *)(uVar30 & 0x1f);" (assignment_expression "local_b4 = (int *)(uVar30 & 0x1f)" (identifier "local_b4") (= "=") (cast_expression "(int *)(uVar30 & 0x1f)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar30 & 0x1f)" (( "(") (binary_expression "uVar30 & 0x1f" (identifier "uVar30") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        } while (iVar15 < *piVar16);" (do "do") (compound_statement "{\n                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);\n                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }\n                          uVar34 = uVar19;\n                          if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }\n                          iVar15 = iVar15 + 1;\n                          unaff_s3 = unaff_s3 + 1;\n                          unaff_s4 = unaff_s8;\n                          uVar19 = uVar34;\n                        }" ({ "{") (expression_statement "piVar24 = *(int **)(piVar16[1] + iVar15 * 4);" (assignment_expression "piVar24 = *(int **)(piVar16[1] + iVar15 * 4)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(piVar16[1] + iVar15 * 4)" (* "*") (cast_expression "(int **)(piVar16[1] + iVar15 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar16[1] + iVar15 * 4)" (( "(") (binary_expression "piVar16[1] + iVar15 * 4" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar15 * 4" (identifier "iVar15") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }\n                          else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" (if "if") (parenthesized_expression "((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2])" (( "(") (binary_expression "(uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]" (call_expression "(uint)((int)local_b8 - piVar24[1])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_b8 - piVar24[1])" (( "(") (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (- "-") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]"))) () ")"))) (< "<") (cast_expression "(uint)piVar24[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar24[2]" (identifier "piVar24") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;\n                          }" ({ "{") (expression_statement "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1;" (assignment_expression "uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" (identifier "uVar20") (= "=") (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4 & 1" (binary_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>\n                                     (int)local_b4" (pointer_expression "*(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (* "*") (cast_expression "(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4)" (( "(") (binary_expression "piVar24[3] + ((int)local_b8 - piVar24[1]) * 4" (subscript_expression "piVar24[3]" (identifier "piVar24") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "((int)local_b8 - piVar24[1]) * 4" (parenthesized_expression "((int)local_b8 - piVar24[1])" (( "(") (binary_expression "(int)local_b8 - piVar24[1]" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (- "-") (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]"))) () ")")) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) (& "&") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" (else "else") (compound_statement "{\n                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);\n                          }" ({ "{") (expression_statement "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);" (assignment_expression "uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (identifier "uVar20") (= "=") (call_expression "(**(code **)(*piVar24 + 0xc))(piVar24,uVar30)" (parenthesized_expression "(**(code **)(*piVar24 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar24 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar24 + 0xc)" (* "*") (cast_expression "(code **)(*piVar24 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar24 + 0xc)" (( "(") (binary_expression "*piVar24 + 0xc" (pointer_expression "*piVar24" (* "*") (identifier "piVar24")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar24,uVar30)" (( "(") (identifier "piVar24") (, ",") (identifier "uVar30") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" (identifier "uVar34") (= "=") (identifier "uVar19")) (; ";")) (if_statement "if (uVar20 != 0) {\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }\n                          }" ({ "{") (if_statement "if (uVar18 == 0) {\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }\n                            else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              puVar14 = (undefined *)*unaff_s3;\n                              uVar18 = uVar20;\n                              uVar34 = uVar20;\n                              if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }\n                            }" ({ "{") (expression_statement "puVar14 = (undefined *)*unaff_s3;" (assignment_expression "puVar14 = (undefined *)*unaff_s3" (identifier "puVar14") (= "=") (cast_expression "(undefined *)*unaff_s3" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")))) (; ";")) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" (identifier "uVar18") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "uVar34 = uVar20;" (assignment_expression "uVar34 = uVar20" (identifier "uVar34") (= "=") (identifier "uVar20")) (; ";")) (if_statement "if (local_dc != puVar14) {\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" (if "if") (parenthesized_expression "(local_dc != puVar14)" (( "(") (binary_expression "local_dc != puVar14" (identifier "local_dc") (!= "!=") (identifier "puVar14")) () ")")) (compound_statement "{\n                                unaff_s8 = (int *)0x0;\n                                (*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);\n                                uVar34 = uVar19;\n                              }" ({ "{") (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" (parenthesized_expression "(*local_c8)" (( "(") (pointer_expression "*local_c8" (* "*") (identifier "local_c8")) () ")")) (argument_list "(puVar10,iVar29,\n                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,\n                                            puVar14 + 8,1)" (( "(") (identifier "puVar10") (, ",") (identifier "iVar29") (, ",") (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar13 + iVar23)" (( "(") (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (+ "+") (identifier "iVar23")) () ")"))))) (, ",") (binary_expression "puVar14 + 4" (identifier "puVar14") (+ "+") (number_literal "4")) (, ",") (binary_expression "puVar14 + 8" (identifier "puVar14") (+ "+") (number_literal "8")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar34 = uVar19;" (assignment_expression "uVar34 = uVar19" (identifier "uVar34") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" (else "else") (compound_statement "{\n                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }\n                              unaff_s8 = (int *)0x0;\n                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);\n                              uVar34 = 0;\n                            }" ({ "{") (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" (identifier "uVar11") (= "=") (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar13 + iVar23)" (( "(") (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (+ "+") (identifier "iVar23")) () ")")))))) (; ";")) (if_statement "if (uVar19 != 0) {\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" (if "if") (parenthesized_expression "(uVar19 != 0)" (( "(") (binary_expression "uVar19 != 0" (identifier "uVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);\n                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);\n                              }" ({ "{") (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" (( "(") (pointer_expression "*local_c8" (* "*") (identifier "local_c8")) () ")")) (argument_list "(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1)" (( "(") (identifier "puVar10") (, ",") (identifier "iVar29") (, ",") (identifier "uVar11") (, ",") (identifier "local_b0") (, ",") (binary_expression "local_dc + 8" (identifier "local_dc") (+ "+") (number_literal "8")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);" (assignment_expression "uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23)" (identifier "uVar11") (= "=") (pointer_expression "**(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (pointer_expression "*(undefined4 **)(*(int *)puVar13 + iVar23)" (* "*") (cast_expression "(undefined4 **)(*(int *)puVar13 + iVar23)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar13 + iVar23)" (( "(") (binary_expression "*(int *)puVar13 + iVar23" (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (+ "+") (identifier "iVar23")) () ")")))))) (; ";")) (} "}"))) (expression_statement "unaff_s8 = (int *)0x0;" (assignment_expression "unaff_s8 = (int *)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);" (call_expression "(*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" (parenthesized_expression "(*local_c8)" (( "(") (pointer_expression "*local_c8" (* "*") (identifier "local_c8")) () ")")) (argument_list "(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0)" (( "(") (identifier "puVar10") (, ",") (identifier "iVar29") (, ",") (identifier "uVar11") (, ",") (binary_expression "*unaff_s3 + 4" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (number_literal "4")) (, ",") (binary_expression "*unaff_s3 + 8" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (+ "+") (number_literal "8")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + 1;" (assignment_expression "unaff_s3 = unaff_s3 + 1" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + 1" (identifier "unaff_s3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s4 = unaff_s8;" (assignment_expression "unaff_s4 = unaff_s8" (identifier "unaff_s4") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "uVar19 = uVar34;" (assignment_expression "uVar19 = uVar34" (identifier "uVar19") (= "=") (identifier "uVar34")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < *piVar16)" (( "(") (binary_expression "iVar15 < *piVar16" (identifier "iVar15") (< "<") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" (identifier "uVar30") (= "=") (binary_expression "uVar30 + 1" (identifier "uVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar30 < *(int *)puVar6)" (( "(") (binary_expression "(int)uVar30 < *(int *)puVar6" (cast_expression "(int)uVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar30")) (< "<") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_dc != (undefined *)0x0) {\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" (if "if") (parenthesized_expression "(local_dc != (undefined *)0x0)" (( "(") (binary_expression "local_dc != (undefined *)0x0" (identifier "local_dc") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);\n                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);\n                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);\n                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);\n                  if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }\n                  (*(code *)PTR_free_0008df9c)(uVar11);\n                }" ({ "{") (expression_statement "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);" (assignment_expression "uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" (identifier "uVar11") (= "=") (call_expression "muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20)" (identifier "muscle_percent_define_get") (argument_list "(PTR_LAB_0008d628 + 0x3c20)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x3c20" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x3c20")) () ")")))) (; ";")) (expression_statement "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);" (assignment_expression "uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (identifier "uVar21") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x6fb8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x6fb8" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x6fb8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);" (call_expression "(*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" (parenthesized_expression "(*local_c8)" (( "(") (pointer_expression "*local_c8" (* "*") (identifier "local_c8")) () ")")) (argument_list "(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1)" (( "(") (identifier "puVar10") (, ",") (identifier "iVar29") (, ",") (identifier "uVar21") (, ",") (binary_expression "local_dc + 4" (identifier "local_dc") (+ "+") (number_literal "4")) (, ",") (binary_expression "local_dc + 8" (identifier "local_dc") (+ "+") (number_literal "8")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0008dfc8" (* "*") (cast_expression "(code *)PTR_strcmp_0008dfc8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0008dfc8"))) () ")")) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x715c)" (( "(") (identifier "uVar11") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x715c" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x715c")) () ")")))) (; ";")) (if_statement "if (((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" (if "if") (parenthesized_expression "(((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))))" (( "(") (binary_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&\n                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" (parenthesized_expression "((iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))))" (( "(") (binary_expression "(iVar29 != 0) &&\n                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))" (( "(") (parenthesized_expression "(iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0))" (( "(") (comma_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),\n                       iVar29 != 0 || (unaff_s8 == (int *)0x0)" (assignment_expression "iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" (identifier "iVar29") (= "=") (call_expression "(*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164)" (parenthesized_expression "(*(code *)PTR_strcmp_0008dfc8)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0008dfc8" (* "*") (cast_expression "(code *)PTR_strcmp_0008dfc8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0008dfc8"))) () ")")) (argument_list "(uVar11,PTR_LAB_0008d628 + 0x7164)" (( "(") (identifier "uVar11") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x7164" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7164")) () ")")))) (, ",") (binary_expression "iVar29 != 0 || (unaff_s8 == (int *)0x0)" (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(unaff_s8 == (int *)0x0)" (( "(") (binary_expression "unaff_s8 == (int *)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))" (( "(") (parenthesized_expression "(*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0))" (( "(") (binary_expression "*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)" (binary_expression "*piVar16 != 1" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (!= "!=") (number_literal "1")) (|| "||") (parenthesized_expression "(*(int *)(piVar16[2] + 4) != 0)" (( "(") (binary_expression "*(int *)(piVar16[2] + 4) != 0" (pointer_expression "*(int *)(piVar16[2] + 4)" (* "*") (cast_expression "(int *)(piVar16[2] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar16[2] + 4)" (( "(") (binary_expression "piVar16[2] + 4" (subscript_expression "piVar16[2]" (identifier "piVar16") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    (*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);\n                    return;\n                  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220);" (call_expression "(*(code *)PTR___assert_fail_0008de30)\n                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" (parenthesized_expression "(*(code *)PTR___assert_fail_0008de30)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0008de30" (* "*") (cast_expression "(code *)PTR___assert_fail_0008de30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0008de30"))) () ")")) (argument_list "(PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,\n                               PTR_LAB_0008d628 + 0x7220)" (( "(") (binary_expression "PTR_LAB_0008d628 + 0x717c" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x717c")) (, ",") (binary_expression "PTR_LAB_0008d628 + 0x7170" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7170")) (, ",") (number_literal "0x147") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x7220" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x7220")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_free_0008df9c)(uVar11);" (call_expression "(*(code *)PTR_free_0008df9c)(uVar11)" (parenthesized_expression "(*(code *)PTR_free_0008df9c)" (( "(") (pointer_expression "*(code *)PTR_free_0008df9c" (* "*") (cast_expression "(code *)PTR_free_0008df9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0008df9c"))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0003c4e4;" (goto "goto") (statement_identifier "LAB_0003c4e4") (; ";")) (} "}"))) (if_statement "if (piVar16[1] == 0) goto LAB_0003c4e4;" (if "if") (parenthesized_expression "(piVar16[1] == 0)" (( "(") (binary_expression "piVar16[1] == 0" (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c4e4;" (goto "goto") (statement_identifier "LAB_0003c4e4") (; ";"))) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" (identifier "uVar30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *(int *)puVar6) goto LAB_0003c1e8;" (if "if") (parenthesized_expression "(0 < *(int *)puVar6)" (( "(") (binary_expression "0 < *(int *)puVar6" (number_literal "0") (< "<") (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6")))) () ")")) (goto_statement "goto LAB_0003c1e8;" (goto "goto") (statement_identifier "LAB_0003c1e8") (; ";"))) (expression_statement "iVar29 = unaff_s6[2];" (assignment_expression "iVar29 = unaff_s6[2]" (identifier "iVar29") (= "=") (subscript_expression "unaff_s6[2]" (identifier "unaff_s6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "(*pcVar17)(iVar29,puVar10,0);" (call_expression "(*pcVar17)(iVar29,puVar10,0)" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "(iVar29,puVar10,0)" (( "(") (identifier "iVar29") (, ",") (identifier "puVar10") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" (if "if") (parenthesized_expression "(((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0))" (( "(") (binary_expression "((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)" (parenthesized_expression "((*(uint *)puVar2 & 8) != 0)" (( "(") (binary_expression "(*(uint *)puVar2 & 8) != 0" (parenthesized_expression "(*(uint *)puVar2 & 8)" (( "(") (binary_expression "*(uint *)puVar2 & 8" (pointer_expression "*(uint *)puVar2" (* "*") (cast_expression "(uint *)puVar2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s6[7] != 0)" (( "(") (binary_expression "unaff_s6[7] != 0" (subscript_expression "unaff_s6[7]" (identifier "unaff_s6") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            puVar22 = *(undefined1 **)(puVar10 + 0x14);\n            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }\n            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);\n          }" ({ "{") (expression_statement "puVar22 = *(undefined1 **)(puVar10 + 0x14);" (assignment_expression "puVar22 = *(undefined1 **)(puVar10 + 0x14)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }\n            else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" (if "if") (parenthesized_expression "(puVar22 < *(undefined1 **)(puVar10 + 0x18))" (( "(") (binary_expression "puVar22 < *(undefined1 **)(puVar10 + 0x18)" (identifier "puVar22") (< "<") (pointer_expression "*(undefined1 **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;\n              *puVar22 = 10;\n            }" ({ "{") (expression_statement "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;" (assignment_expression "*(undefined1 **)(puVar10 + 0x14) = puVar22 + 1" (pointer_expression "*(undefined1 **)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar22 = 10;" (assignment_expression "*puVar22 = 10" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (number_literal "10")) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR___overflow_0008de84)(puVar10,10);\n            }" ({ "{") (expression_statement "(*(code *)PTR___overflow_0008de84)(puVar10,10);" (call_expression "(*(code *)PTR___overflow_0008de84)(puVar10,10)" (parenthesized_expression "(*(code *)PTR___overflow_0008de84)" (( "(") (pointer_expression "*(code *)PTR___overflow_0008de84" (* "*") (cast_expression "(code *)PTR___overflow_0008de84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___overflow_0008de84"))) () ")")) (argument_list "(puVar10,10)" (( "(") (identifier "puVar10") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);" (call_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10)" (parenthesized_expression "(*(code *)PTR_fputs_unlocked_0008dfe0)" (( "(") (pointer_expression "*(code *)PTR_fputs_unlocked_0008dfe0" (* "*") (cast_expression "(code *)PTR_fputs_unlocked_0008dfe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_unlocked_0008dfe0"))) () ")")) (argument_list "(unaff_s6[7],puVar10)" (( "(") (subscript_expression "unaff_s6[7]" (identifier "unaff_s6") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (} "}"))) (expression_statement "local_c0 = local_c0 + 1;" (assignment_expression "local_c0 = local_c0 + 1" (identifier "local_c0") (= "=") (binary_expression "local_c0 + 1" (identifier "local_c0") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_c0 < *(int *)puVar5)" (( "(") (binary_expression "(int)local_c0 < *(int *)puVar5" (cast_expression "(int)local_c0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c0")) (< "<") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);" (assignment_expression "uVar11 = *(undefined4 *)(puVar1 + -0x1cf0)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(puVar1 + -0x1cf0)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x1cf0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x1cf0)" (( "(") (binary_expression "puVar1 + -0x1cf0" (identifier "puVar1") (+ "+") (number_literal "-0x1cf0")) () ")"))))) (; ";")) (} "}"))) (expression_statement "bitset_free(uVar11);" (call_expression "bitset_free(uVar11)" (identifier "bitset_free") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (if_statement "if ((*(uint *)puVar2 & 2) != 0) {\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" (if "if") (parenthesized_expression "((*(uint *)puVar2 & 2) != 0)" (( "(") (binary_expression "(*(uint *)puVar2 & 2) != 0" (parenthesized_expression "(*(uint *)puVar2 & 2)" (( "(") (binary_expression "*(uint *)puVar2 & 2" (pointer_expression "*(uint *)puVar2" (* "*") (cast_expression "(uint *)puVar2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_free_closure_0008d7f4)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_free_closure_0008d7f4)();" (call_expression "(*(code *)PTR_free_closure_0008d7f4)()" (parenthesized_expression "(*(code *)PTR_free_closure_0008d7f4)" (( "(") (pointer_expression "*(code *)PTR_free_closure_0008d7f4" (* "*") (cast_expression "(code *)PTR_free_closure_0008d7f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_closure_0008d7f4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "xfclose(puVar10);" (call_expression "xfclose(puVar10)" (identifier "xfclose") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))) (; ";")) (if_statement "if (local_2c == *(int *)puVar9) {\n        return;\n      }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar9)" (( "(") (binary_expression "local_2c == *(int *)puVar9" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar9" (* "*") (cast_expression "(int *)puVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9")))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_0008df68)();" (call_expression "(*(code *)PTR___stack_chk_fail_0008df68)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0008df68)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0008df68" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0008df68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0008df68"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0003ca90:\n      iVar29 = 3;" (statement_identifier "LAB_0003ca90") (: ":") (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" (identifier "iVar29") (= "=") (number_literal "3")) (; ";"))) (labeled_statement "LAB_0003ca94:\n      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" (statement_identifier "LAB_0003ca94") (: ":") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,local_b0 + 0x7110,5)" (( "(") (number_literal "0") (, ",") (binary_expression "local_b0 + 0x7110" (identifier "local_b0") (+ "+") (number_literal "0x7110")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11)" (( "(") (cast_expression "(undefined *)((int)unaff_s8 + (int)unaff_s3)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + (int)unaff_s3)" (( "(") (binary_expression "(int)unaff_s8 + (int)unaff_s3" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")"))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" (identifier "puVar2") (= "=") (identifier "PTR_rules_0008d784")) (; ";")) (if_statement "if (0 < *unaff_s6) {\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" (if "if") (parenthesized_expression "(0 < *unaff_s6)" (( "(") (binary_expression "0 < *unaff_s6" (number_literal "0") (< "<") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) () ")")) (compound_statement "{\n        iVar15 = 0;\n        iVar23 = 0;\n        do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);\n      }" ({ "{") (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        } while (iVar23 < *unaff_s6);" (do "do") (compound_statement "{\n          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }\n          iVar23 = iVar23 + 1;\n          iVar15 = iVar15 + 0x60;\n          unaff_s3 = (int *)puVar2;\n        }" ({ "{") (if_statement "if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" (if "if") (parenthesized_expression "(*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16)" (( "(") (binary_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16" (pointer_expression "*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" (* "*") (cast_expression "(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80)" (( "(") (binary_expression "*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80" (pointer_expression "*(int *)(*(int *)puVar2 + iVar15 + 8)" (* "*") (cast_expression "(int *)(*(int *)puVar2 + iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar2 + iVar15 + 8)" (( "(") (binary_expression "*(int *)puVar2 + iVar15 + 8" (binary_expression "*(int *)puVar2 + iVar15" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (identifier "iVar15")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "piVar16")) () ")")) (compound_statement "{\n            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }\n            (*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);\n          }" ({ "{") (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar28") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (if_statement "if (0x41 < (uint)(iVar29 + iVar28)) {\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" (if "if") (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar28))" (( "(") (binary_expression "0x41 < (uint)(iVar29 + iVar28)" (number_literal "0x41") (< "<") (call_expression "(uint)(iVar29 + iVar28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar29 + iVar28)" (( "(") (binary_expression "iVar29 + iVar28" (identifier "iVar29") (+ "+") (identifier "iVar28")) () ")")))) () ")")) (compound_statement "{\n              iVar29 = 3;\n              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n              local_88[0]._0_1_ = 0;\n              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n            }" ({ "{") (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" (identifier "iVar29") (= "=") (number_literal "3")) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_c8,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_c8") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar28") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23)" (( "(") (cast_expression "(undefined *)((int)unaff_s8 + iVar28)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar28)" (( "(") (binary_expression "(int)unaff_s8 + iVar28" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar28")) () ")"))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "local_dc") (, ",") (identifier "iVar23") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = iVar15 + 0x60;" (assignment_expression "iVar15 = iVar15 + 0x60" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 0x60" (identifier "iVar15") (+ "+") (number_literal "0x60"))) (; ";")) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" (identifier "unaff_s3") (= "=") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 < *unaff_s6)" (( "(") (binary_expression "iVar23 < *unaff_s6" (identifier "iVar23") (< "<") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) () ")")) (; ";")) (} "}"))) (if_statement "if (unaff_s4 != (int *)0x0) {\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" (if "if") (parenthesized_expression "(unaff_s4 != (int *)0x0)" (( "(") (binary_expression "unaff_s4 != (int *)0x0" (identifier "unaff_s4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;\n        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;\nLAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }\n        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);\n        (*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);\n        puVar2 = PTR_rules_0008d784;\n        if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }\n      }" ({ "{") (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (expression_statement "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;" (assignment_expression "*(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c" (pointer_expression "*(undefined1 *)((int)unaff_s8 + iVar15)" (* "*") (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar15)" (( "(") (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar15")) () ")")))) (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;" (assignment_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0" (subscript_expression "((undefined1 *)((int)unaff_s8 + iVar15))[1]" (parenthesized_expression "((undefined1 *)((int)unaff_s8 + iVar15))" (( "(") (cast_expression "(undefined1 *)((int)unaff_s8 + iVar15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar15)" (( "(") (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar15")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0003c910:\n        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (statement_identifier "LAB_0003c910") (: ":") (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";"))) (if_statement "if (0x41 < (uint)(iVar29 + iVar15)) {\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" (if "if") (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar15))" (( "(") (binary_expression "0x41 < (uint)(iVar29 + iVar15)" (number_literal "0x41") (< "<") (call_expression "(uint)(iVar29 + iVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar29 + iVar15)" (( "(") (binary_expression "iVar29 + iVar15" (identifier "iVar29") (+ "+") (identifier "iVar15")) () ")")))) () ")")) (compound_statement "{\n          iVar29 = 3;\n          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n          local_88[0]._0_1_ = 0;\n          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n        }" ({ "{") (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" (identifier "iVar29") (= "=") (number_literal "3")) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_c8,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_c8") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,local_b4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0008df70)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0008df70" (* "*") (cast_expression "(code *)PTR_dcgettext_0008df70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0008df70"))) () ")")) (argument_list "(0,local_b4,5)" (( "(") (number_literal "0") (, ",") (identifier "local_b4") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11)" (( "(") (cast_expression "(undefined *)((int)unaff_s8 + iVar15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar15)" (( "(") (binary_expression "(int)unaff_s8 + iVar15" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar15")) () ")"))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_rules_0008d784;" (assignment_expression "puVar2 = PTR_rules_0008d784" (identifier "puVar2") (= "=") (identifier "PTR_rules_0008d784")) (; ";")) (if_statement "if (0 < *unaff_s6) {\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" (if "if") (parenthesized_expression "(0 < *unaff_s6)" (( "(") (binary_expression "0 < *unaff_s6" (number_literal "0") (< "<") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) () ")")) (compound_statement "{\n          unaff_s4 = (int *)0x0;\n          iVar15 = 0;\n          do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);\n        }" ({ "{") (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" (identifier "unaff_s4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          } while (iVar15 < iVar23);" (do "do") (compound_statement "{\n            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);\n            piVar24 = (int *)*puVar25;\n            if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }\n            iVar15 = iVar15 + 1;\n            unaff_s4 = unaff_s4 + 0x18;\n            unaff_s3 = (int *)puVar2;\n          }" ({ "{") (expression_statement "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);" (assignment_expression "puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" (identifier "puVar25") (= "=") (pointer_expression "*(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" (* "*") (cast_expression "(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)unaff_s4 + *(int *)puVar2 + 0xc)" (( "(") (binary_expression "(int)unaff_s4 + *(int *)puVar2 + 0xc" (binary_expression "(int)unaff_s4 + *(int *)puVar2" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" (identifier "piVar24") (= "=") (cast_expression "(int *)*puVar25" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25")))) (; ";")) (if_statement "if ((int)piVar24 < 0) {\n              iVar23 = *unaff_s6;\n            }\n            else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" (if "if") (parenthesized_expression "((int)piVar24 < 0)" (( "(") (binary_expression "(int)piVar24 < 0" (cast_expression "(int)piVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar24")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              iVar23 = *unaff_s6;\n            }" ({ "{") (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" (identifier "iVar23") (= "=") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (} "}")) (else_clause "else {\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" (else "else") (compound_statement "{\n              do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);\n              iVar23 = *unaff_s6;\n            }" ({ "{") (do_statement "do {\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              } while (-1 < (int)piVar24);" (do "do") (compound_statement "{\n                puVar25 = puVar25 + 1;\n                if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }\n                piVar24 = (int *)*puVar25;\n              }" ({ "{") (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar24 == piVar16) {\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" (if "if") (parenthesized_expression "(piVar24 == piVar16)" (( "(") (binary_expression "piVar24 == piVar16" (identifier "piVar24") (== "==") (identifier "piVar16")) () ")")) (compound_statement "{\n                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }\n                  (*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);\n                  break;\n                }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (if_statement "if (0x41 < (uint)(iVar29 + iVar23)) {\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" (if "if") (parenthesized_expression "(0x41 < (uint)(iVar29 + iVar23))" (( "(") (binary_expression "0x41 < (uint)(iVar29 + iVar23)" (number_literal "0x41") (< "<") (call_expression "(uint)(iVar29 + iVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar29 + iVar23)" (( "(") (binary_expression "iVar29 + iVar23" (identifier "iVar29") (+ "+") (identifier "iVar23")) () ")")))) () ")")) (compound_statement "{\n                    iVar29 = 3;\n                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);\n                    local_88[0]._0_1_ = 0;\n                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);\n                  }" ({ "{") (expression_statement "iVar29 = 3;" (assignment_expression "iVar29 = 3" (identifier "iVar29") (= "=") (number_literal "3")) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);" (call_expression "(*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0008de68)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0008de68" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0008de68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0008de68"))) () ")")) (argument_list "(puVar10,1,local_c8,unaff_s8)" (( "(") (identifier "puVar10") (, ",") (number_literal "1") (, ",") (identifier "local_c8") (, ",") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "local_88[0]._0_1_ = 0;" (assignment_expression "local_88[0]._0_1_ = 0" (field_expression "local_88[0]._0_1_" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);" (assignment_expression "iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_strlen_0008def8)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_strlen_0008def8)" (( "(") (pointer_expression "*(code *)PTR_strlen_0008def8" (* "*") (cast_expression "(code *)PTR_strlen_0008def8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0008def8"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")")))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);" (call_expression "(*(code *)PTR___sprintf_chk_0008de24)\n                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_0008de24)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_0008de24" (* "*") (cast_expression "(code *)PTR___sprintf_chk_0008de24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_0008de24"))) () ")")) (argument_list "((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15)" (( "(") (cast_expression "(undefined *)((int)unaff_s8 + iVar23)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar23)" (( "(") (binary_expression "(int)unaff_s8 + iVar23" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar23")) () ")"))) (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (identifier "local_dc") (, ",") (identifier "iVar15") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar24 = (int *)*puVar25;" (assignment_expression "piVar24 = (int *)*puVar25" (identifier "piVar24") (= "=") (cast_expression "(int *)*puVar25" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-1 < (int)piVar24)" (( "(") (binary_expression "-1 < (int)piVar24" (number_literal "-1") (< "<") (cast_expression "(int)piVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar24"))) () ")")) (; ";")) (expression_statement "iVar23 = *unaff_s6;" (assignment_expression "iVar23 = *unaff_s6" (identifier "iVar23") (= "=") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (} "}")))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s4 = unaff_s4 + 0x18;" (assignment_expression "unaff_s4 = unaff_s4 + 0x18" (identifier "unaff_s4") (= "=") (binary_expression "unaff_s4 + 0x18" (identifier "unaff_s4") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "unaff_s3 = (int *)puVar2;" (assignment_expression "unaff_s3 = (int *)puVar2" (identifier "unaff_s3") (= "=") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < iVar23)" (( "(") (binary_expression "iVar15 < iVar23" (identifier "iVar15") (< "<") (identifier "iVar23")) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void function_1(void)

{
  type_1 *var_24;
  type_1 *var_7;
  type_1 *var_11;
  type_1 *var_27;
  type_1 *puVar5;
  type_1 *var_10;
  type_1 *puVar7;
  type_1 *puVar8;
  type_1 *puVar9;
  type_2 extraout_var;
  type_2 extraout_var_00;
  int var_51;
  type_3 *out;
  char *var_28;
  type_4 uVar12;
  type_1 *puVar13;
  type_1 *puVar14;
  type_1 *puVar15;
  int var_9;
  int *var_16;
  type_5 pbVar18;
  type_6 *pcVar19;
  type_7 *var_38;
  type_8 var_39;
  type_8 var_43;
  type_8 var_44;
  type_9 _Var24;
  int var_12;
  type_4 *var_53;
  type_10 *var_18;
  type_3 *var_47;
  type_10 *var_17;
  type_8 *var_33;
  int var_15;
  int var_8;
  type_8 var_36;
  type_11 **var_41;
  type_12 *ptVar35;
  type_13 *peVar36;
  type_7 *var_30;
  type_14 **var_14;
  type_15 **var_21;
  type_8 *var_31;
  type_14 **var_46;
  type_15 *unaff_s6;
  type_8 *var_34;
  type_8 *var_35;
  type_15 **var_40;
  type_15 **var_29;
  type_16 pcVar43;
  type_8 uVar44;
  type_3 *var_42;
  int *local_d8;
  type_6 *local_c8;
  int *local_c4;
  type_1 *var_20;
  type_1 *var_22;
  type_1 *var_19;
  type_15 *local_b4;
  type_3 *local_b0;
  char var_13 [90];
  
  puVar9 = PTR___stack_chk_guard_0008df8c;
  var_7 = var_2;
  var_51 = *(int *)PTR___stack_chk_guard_0008df8c;
  var_22 = var_2;
  out = (type_3 *)var_1(*(char **)PTR_spec_verbose_file_0008d8bc,var_2 + 0x4224);
  puVar5 = PTR_max_user_token_number_0008da2c;
  var_3((type_17 *)out);
  var_28 = (char *)(*(type_6 *)PTR_dcgettext_0008df70)(0,var_2 + 0x7080,5);
  var_4
            ((type_17 *)out,var_28,(type_18)PTR_rule_useless_in_parser_p_0008db64);
  var_5((type_17 *)out);
  var_6((type_17 *)out);
  uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_2 + 0x70ac,5);
  (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_7 + 0x37a8,uVar12);
  var_27 = PTR_undeftoken_0008da10;
  var_24 = PTR_token_translations_0008d958;
  var_10 = var_26;
  var_11 = var_2;
  if (-1 < *(int *)puVar5) {
    var_8 = 0;
    puVar13 = var_2 + 0x4d80;
    puVar14 = var_2 + 0x7100;
    local_c8 = (type_6 *)var_2;
    puVar15 = var_2 + 0x176c;
    var_20 = var_26;
    do {
      while( true ) {
        puVar7 = PTR_symbols_0008d7a4;
        var_21 = (type_15 **)(var_8 * 4);
        var_42 = out;
        if (*(int *)(*(int *)var_24 + (int)var_21) ==
            *(int *)(*(int *)(*(int *)var_27 + 0x28) + 0x80)) break;
        var_14 = (type_14 **)**(type_4 **)
                              (*(int *)PTR_symbols_0008d7a4 +
                              *(int *)(*(int *)var_24 + (int)var_21) * 4);
        unaff_s6 = (type_15 *)(*(type_6 *)PTR_strlen_0008def8)(var_14);
        var_13[0] = '\0';
        (*(type_6 *)PTR_fputs_unlocked_0008dfe0)(var_14,out);
        var_9 = (*(type_6 *)PTR_strlen_0008def8)(var_13);
        if (0x41 < (type_8)((int)unaff_s6->items + var_9 + -0x28)) {
          unaff_s6 = (type_15 *)0x3;
          (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,puVar14,var_13);
          var_13[0] = '\0';
        }
        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)var_24 + (int)var_21) * 4
                                      ) + 0x28) + 4) != 0) {
          var_9 = (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_10 + -0x4ae0);
          unaff_s6 = (type_15 *)((int)unaff_s6->items + var_9 + -0x28);
          var_9 = (*(type_6 *)PTR_strlen_0008def8)(var_13);
          if (0x41 < (type_8)((int)unaff_s6->items + var_9 + -0x28)) {
            unaff_s6 = (type_15 *)0x3;
            (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,puVar14,var_13);
            var_13[0] = '\0';
          }
        }
        puVar8 = PTR_nrules_0008d7c8;
        (*(type_6 *)PTR___sprintf_chk_0008de24)(var_13,1,0x5a,var_11 + 0x7108,var_8);
        puVar7 = PTR_rules_0008d784;
        if (0 < *(int *)puVar8) {
          var_14 = (type_14 **)0x0;
          var_9 = 0;
LAB_0003b85c:
          do {
            var_16 = *(int **)((int)var_14 + *(int *)puVar7 + 0xc);
            var_12 = *var_16;
            var_40 = (type_15 **)puVar7;
            if (-1 < var_12) {
              do {
                if (*(int *)(*(int *)var_24 + (int)var_21) == var_12) {
                  var_12 = (*(type_6 *)PTR_strlen_0008def8)(var_13);
                  if (0x41 < (type_8)((int)unaff_s6->items + var_12 + -0x28)) {
                    unaff_s6 = (type_15 *)0x3;
                    (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,puVar14,var_13);
                    var_13[0] = '\0';
                    var_12 = (*(type_6 *)PTR_strlen_0008def8)(var_13);
                  }
                  var_15 = var_9 + 1;
                  (*(type_6 *)PTR___sprintf_chk_0008de24)(var_13 + var_12,1,0xffffffff,puVar13,var_9)
                  ;
                  var_14 = var_14 + 0x18;
                  var_9 = var_15;
                  if (var_15 < *(int *)puVar8) goto LAB_0003b85c;
                  goto LAB_0003b8bc;
                }
                var_16 = var_16 + 1;
                var_12 = *var_16;
              } while (-1 < var_12);
            }
            var_9 = var_9 + 1;
            var_14 = var_14 + 0x18;
          } while (var_9 < *(int *)puVar8);
        }
LAB_0003b8bc:
        var_8 = var_8 + 1;
        (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,puVar15,var_13);
        if (*(int *)puVar5 < var_8) goto LAB_0003b8ec;
      }
      var_8 = var_8 + 1;
    } while (var_8 <= *(int *)puVar5);
  }
LAB_0003b8ec:
  var_24 = PTR_nsyms_0008d7bc;
  var_10 = PTR_ntokens_0008d77c;
  var_11 = var_2;
  local_c4 = (int *)PTR_nsyms_0008d7bc;
  (*(type_6 *)PTR_fwrite_unlocked_0008df80)(var_2 + 0x4938,1,2,out);
  uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_2 + 0x70d4,5);
  (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_7 + 0x37a8,uVar12);
  var_17 = *(type_10 **)var_10;
  if (*(int *)var_24 <= (int)var_17) goto LAB_0003bb54;
  local_d8 = (int *)PTR_symbols_0008d7a4;
  var_40 = (type_15 **)var_13;
  local_b4 = (type_15 *)(var_2 + 0x711c);
  var_20 = var_2;
  var_42 = (type_3 *)(var_2 + 0x4d80);
  local_c8 = (type_6 *)(var_2 + 0x7100);
  var_22 = var_2;
  var_19 = var_26;
  local_b0 = (type_3 *)var_2;
  unaff_s6 = (type_15 *)PTR_nrules_0008d7c8;
  do {
    uVar12 = **(type_4 **)(*local_d8 + (int)var_17 * 4);
    var_8 = (*(type_6 *)PTR_strlen_0008def8)(uVar12);
    if (unaff_s6->number < 1) {
      var_21 = (type_15 **)0x0;
      var_9 = 0;
    }
    else {
      var_21 = (type_15 **)0x0;
      var_9 = 0;
      var_12 = *(int *)PTR_rules_0008d784;
      var_15 = unaff_s6->number * 0x60 + var_12;
      do {
        if (*(type_10 **)(*(int *)(var_12 + 8) + 0x80) == var_17) {
          var_9 = var_9 + 1;
        }
        var_16 = *(int **)(var_12 + 0xc);
        var_18 = (type_10 *)*var_16;
        while (-1 < (int)var_18) {
          var_16 = var_16 + 1;
          if (var_18 == var_17) {
            var_21 = (type_15 **)((int)var_21 + 1);
            break;
          }
          var_18 = (type_10 *)*var_16;
        }
        var_12 = var_12 + 0x60;
      } while (var_15 != var_12);
    }
    (*(type_6 *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);
    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)var_17 * 4) + 0x28) + 4) != 0) {
      var_12 = (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_19 + -0x4ae0);
      var_8 = var_8 + var_12;
    }
    var_13[0] = '\0';
    (*(type_6 *)PTR___sprintf_chk_0008de24)(var_40,1,0x5a,var_20 + 0x7108,var_17);
    var_14 = (type_14 **)(*(type_6 *)PTR_strlen_0008def8)(var_40);
    if ((int)var_14 + var_8 == 0) {
      if (var_9 != 0) goto LAB_0003ca94;
    }
    else {
      (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,local_c8,var_40);
      var_13[0] = '\0';
      if (var_9 != 0) {
        var_14 = (type_14 **)(*(type_6 *)PTR_strlen_0008def8)(var_40);
        if ((type_19 *)((int)var_14 + 3U) < (type_19 *)0x42) goto LAB_0003ca90;
        (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,local_c8,var_40);
        var_13[0] = '\0';
        var_14 = (type_14 **)(*(type_6 *)PTR_strlen_0008def8)(var_40);
        goto LAB_0003ca90;
      }
      var_8 = 3;
    }
    if (var_21 != (type_15 **)0x0) goto LAB_0003c910;
    while( true ) {
      var_17 = (type_10 *)((int)&var_17->num + 1);
      (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_22 + 0x176c,var_40);
      if ((int)var_17 < *local_c4) break;
LAB_0003bb54:
      var_7 = PTR_report_flag_0008d71c;
      local_c4 = (int *)PTR_report_flag_0008d71c;
      if ((*(type_8 *)PTR_report_flag_0008d71c & 2) != 0) {
        (*(type_6 *)PTR_new_closure_0008d7d4)(*(type_4 *)PTR_nritems_0008d7d0);
      }
      puVar5 = PTR_nstates_0008d698;
      var_24 = PTR_saved_sigactions_28__sa_resv_0__0008d618;
      local_d8 = (int *)PTR_saved_sigactions_28__sa_resv_0__0008d618;
      pbVar18 = var_23(*(type_20 *)var_10,1);
      var_8 = *(int *)puVar5;
      *(type_5 *)(var_24 + -0x1cf0) = pbVar18;
      puVar13 = PTR_states_0008d7f8;
      var_27 = var_2;
      var_17 = (type_10 *)puVar5;
      if (0 < var_8) {
        var_20 = (type_1 *)0x0;
        pcVar19 = (type_6 *)(var_25 + -0x4cdc);
        var_22 = var_26 + -0x4654;
        local_c8 = (type_6 *)(var_25 + -0x4f10);
        do {
          unaff_s6 = *(type_15 **)(*(int *)puVar13 + (int)var_20 * 4);
          (*(type_6 *)PTR_fwrite_unlocked_0008df80)(var_11 + 0x4938,1,2,out);
          uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_27 + 0x7128,5);
          (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,uVar12,unaff_s6->number);
          var_28 = (out->type_location).end.file;
          if (var_28 < (char *)(out->type_location).end.line) {
            (out->type_location).end.file = var_28 + 1;
            *var_28 = '\n';
          }
          else {
            (*(type_6 *)PTR___overflow_0008de84)(out,10);
          }
          var_30 = unaff_s6->items;
          var_29 = (type_15 **)unaff_s6->nitems;
          if ((*(type_8 *)var_7 & 2) != 0) {
            (*(type_6 *)PTR_closure_0008d7dc)(var_30,var_29);
            var_30 = *(type_7 **)PTR_itemset_0008d7e4;
            var_29 = *(type_15 ***)PTR_nitemset_0008d7d8;
          }
          var_40 = var_29;
          if (var_29 != (type_15 **)0x0) {
            var_28 = (out->type_location).end.file;
            if (var_28 < (char *)(out->type_location).end.line) {
              (out->type_location).end.file = var_28 + 1;
              *var_28 = '\n';
            }
            else {
              (*(type_6 *)PTR___overflow_0008de84)(out,10);
            }
            var_21 = (type_15 **)PTR_symbols_0008d7a4;
            var_14 = (type_14 **)PTR_rules_0008d784;
            var_40 = (type_15 **)PTR_ritem_0008d780;
            var_38 = var_30 + (int)var_29;
            var_42 = (type_3 *)0x0;
            var_19 = var_2 + 0x7138;
            do {
              var_33 = (type_8 *)((int)*var_40 + *var_30 * 4);
              var_36 = *var_33;
              var_31 = var_33;
              while (-1 < (int)var_36) {
                var_31 = var_31 + 1;
                var_36 = *var_31;
              }
              var_8 = ~var_36 * 0x60;
              var_32((type_14 *)((int)*var_14 + var_8),var_42,(type_17 *)out);
              var_31 = *(type_8 **)((int)*var_14 + var_8 + 0xc);
              var_42 = *(type_3 **)((int)*var_14 + var_8 + 8);
              var_34 = var_31;
              if (var_31 < var_33) {
                do {
                  var_35 = var_34 + 1;
                  (*(type_6 *)PTR___fprintf_chk_0008de68)
                            (out,1,var_22,**(type_4 **)((int)*var_21 + *var_34 * 4));
                  var_34 = var_35;
                } while (var_35 < var_33);
                var_31 = var_31 + ((type_8)((int)var_33 + (-1 - (int)var_31)) >> 2) + 1;
              }
              (*(type_6 *)PTR_fwrite_unlocked_0008df80)(var_27 + 0x7134,1,2,out);
              if (**(int **)((int)*var_14 + var_8 + 0xc) < 0) {
                (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,var_19);
              }
              else {
                var_36 = *var_31;
                while (-1 < (int)var_36) {
                  var_31 = var_31 + 1;
                  (*(type_6 *)PTR___fprintf_chk_0008de68)
                            (out,1,var_22,**(type_4 **)((int)*var_21 + var_36 * 4));
                  var_36 = *var_31;
                }
              }
              if (((*(type_8 *)var_7 & 4) == 0) || (-1 < (int)*var_33)) {
                var_28 = (out->type_location).end.file;
                if (var_28 < (char *)(out->type_location).end.line) goto LAB_0003be58;
LAB_0003c60c:
                (*(type_6 *)PTR___overflow_0008de84)(out,10);
              }
              else {
                var_37
                          (unaff_s6,(type_14 *)((int)*var_14 + var_8),(type_17 *)out);
                var_28 = (out->type_location).end.file;
                if ((char *)(out->type_location).end.line <= var_28) goto LAB_0003c60c;
LAB_0003be58:
                (out->type_location).end.file = var_28 + 1;
                *var_28 = '\n';
              }
              var_30 = var_30 + 1;
            } while (var_38 != var_30);
          }
          (*pcVar19)(unaff_s6->type_12,out,1);
          peVar36 = unaff_s6->type_13;
          var_16 = (int *)peVar36->num;
          if (0 < (int)var_16) {
            var_41 = peVar36->symbols;
            var_36 = 0;
            var_21 = (type_15 **)0x0;
            var_14 = (type_14 **)var_41;
            do {
              if ((*var_14 != (type_14 *)0x0) &&
                 (var_39 = (*(type_6 *)PTR_strlen_0008def8)((type_16)(*var_14)->user_number),
                 var_36 < var_39)) {
                var_36 = var_39;
              }
              var_21 = (type_15 **)((int)var_21 + 1);
              var_14 = var_14 + 1;
            } while (var_21 != (type_15 **)var_16);
            if (var_36 != 0) {
              var_28 = (out->type_location).end.file;
              if (var_28 < (char *)(out->type_location).end.line) {
                (out->type_location).end.file = var_28 + 1;
                *var_28 = '\n';
              }
              else {
                (*(type_6 *)PTR___overflow_0008de84)(out,10);
              }
              var_8 = peVar36->num;
              if (0 < var_8) {
                var_14 = (type_14 **)0x0;
                puVar14 = var_2 + 0x7028;
                var_21 = (type_15 **)(var_2 + 0x7144);
                do {
                  while (*var_41 != (type_11 *)0x0) {
                    pcVar43 = (*var_41)->tag;
                    (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,puVar14,pcVar43);
                    var_8 = (*(type_6 *)PTR_strlen_0008def8)(pcVar43);
                    var_40 = (type_15 **)((var_36 + 2) - var_8);
                    if (0 < (int)var_40) {
                      do {
                        var_28 = (out->type_location).end.file;
                        if (var_28 < (char *)(out->type_location).end.line) {
                          (out->type_location).end.file = var_28 + 1;
                          *var_28 = ' ';
                        }
                        else {
                          (*(type_6 *)PTR___overflow_0008de84)(out,0x20);
                        }
                        var_40 = (type_15 **)((int)var_40 + -1);
                      } while (var_40 != (type_15 **)0x0);
                    }
                    uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_21,5);
                    var_14 = (type_14 **)((int)var_14 + 1);
                    var_41 = var_41 + 1;
                    (*(type_6 *)PTR_fputs_unlocked_0008dfe0)(uVar12,out);
                    var_8 = peVar36->num;
                    if (var_8 <= (int)var_14) goto LAB_0003bfe0;
                  }
                  var_14 = (type_14 **)((int)var_14 + 1);
                  var_41 = var_41 + 1;
                } while ((int)var_14 < var_8);
              }
            }
          }
LAB_0003bfe0:
          var_17 = unaff_s6->type_10;
          if (var_17->num == 0) {
LAB_0003c4e4:
            ptVar35 = unaff_s6->type_12;
          }
          else {
            var_8 = *(int *)(*(int *)PTR_yydefact_0008d968 + unaff_s6->number * 4);
            if (var_8 == 0) {
              var_42 = (type_3 *)0x0;
            }
            else {
              var_42 = (type_3 *)(*(int *)PTR_rules_0008d784 + var_8 * 0x60 + -0x60);
              var_14 = (type_14 **)PTR_rules_0008d784;
            }
            ptVar35 = unaff_s6->type_12;
            (**(type_6 **)(**(int **)(var_24 + -0x1cf0) + 0x24))(*(int **)(var_24 + -0x1cf0));
            var_8 = ptVar35->num;
            if (0 < var_8) {
              var_21 = ptVar35->states;
              var_14 = (type_14 **)0x0;
LAB_0003c088:
              do {
                if (*var_21 != (type_15 *)0x0) {
                  var_36 = (*var_21)->accessing_symbol;
                  if (*(int *)var_10 <= (int)var_36) break;
                  var_53 = *(type_4 **)(var_24 + -0x1cf0);
                  var_39 = (var_36 >> 5) - var_53[1];
                  if ((type_8)var_53[2] <= var_39) {
                    var_14 = (type_14 **)((int)var_14 + 1);
                    var_21 = var_21 + 1;
                    (**(type_6 **)*var_53)();
                    var_8 = ptVar35->num;
                    if (var_8 <= (int)var_14) break;
                    goto LAB_0003c088;
                  }
                  var_31 = (type_8 *)(var_53[3] + var_39 * 4);
                  *var_31 = *var_31 | 1 << (var_36 & 0x1f);
                }
                var_14 = (type_14 **)((int)var_14 + 1);
                var_21 = var_21 + 1;
              } while ((int)var_14 < var_8);
            }
            peVar36 = unaff_s6->type_13;
            var_8 = 0;
            if (0 < peVar36->num) {
LAB_0003c138:
              do {
                if (peVar36->symbols[var_8] != (type_11 *)0x0) {
                  var_53 = *(type_4 **)(var_24 + -0x1cf0);
                  var_39 = peVar36->symbols[var_8]->content->number;
                  var_36 = (var_39 >> 5) - var_53[1];
                  if ((type_8)var_53[2] <= var_36) {
                    var_8 = var_8 + 1;
                    (**(type_6 **)*var_53)();
                    peVar36 = unaff_s6->type_13;
                    if (peVar36->num <= var_8) break;
                    goto LAB_0003c138;
                  }
                  var_31 = (type_8 *)(var_53[3] + var_36 * 4);
                  *var_31 = *var_31 | 1 << (var_39 & 0x1f);
                }
                var_8 = var_8 + 1;
              } while (var_8 < peVar36->num);
            }
            if (var_42 != (type_3 *)0x0) {
              uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_2 + 0x6fb8,5);
              var_36 = (*(type_6 *)PTR_strlen_0008def8)(uVar12);
              if ((var_17->lookahead_tokens != (type_5 *)0x0) && (0 < *(int *)var_10)) {
LAB_0003c1e8:
                var_21 = (type_15 **)PTR_symbols_0008d7a4;
                var_39 = 0;
                do {
                  var_16 = *(int **)(var_24 + -0x1cf0);
                  var_43 = (var_39 >> 5) - var_16[1];
                  if (var_43 < (type_8)var_16[2]) {
                    var_43 = *(type_8 *)(var_16[3] + var_43 * 4) >> (var_39 & 0x1f) & 1;
                  }
                  else {
                    var_43 = (**(type_6 **)(*var_16 + 0xc))(var_16,var_39);
                  }
                  var_40 = (type_15 **)var_17->num;
                  var_46 = var_17->rules;
                  var_14 = var_46;
                  if (0 < (int)var_40) {
                    var_19 = (type_1 *)(var_39 & 0x1f);
                    var_14 = (type_14 **)0x0;
                    do {
                      pbVar18 = var_17->lookahead_tokens[(int)var_14];
                      var_44 = (var_39 >> 5) - (pbVar18->b).cindex;
                      if (var_44 < (pbVar18->b).csize) {
                        var_44 = (pbVar18->b).cdata[var_44] >> (int)var_19 & 1;
                      }
                      else {
                        _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,var_39);
                        var_44 = var_45(extraout_var,_Var24);
                        var_40 = (type_15 **)var_17->num;
                      }
                      if (var_44 != 0) {
                        if (var_43 == 0) {
                          var_43 = var_44;
                          if ((var_42 != (type_3 *)*var_46) &&
                             (var_44 = (*(type_6 *)PTR_strlen_0008def8)
                                                 (**(type_4 **)((int)*var_21 + var_39 * 4)),
                             var_36 < var_44)) {
                            var_36 = var_44;
                          }
                        }
                        else {
                          var_44 = (*(type_6 *)PTR_strlen_0008def8)
                                             (**(type_4 **)((int)*var_21 + var_39 * 4));
                          if (var_36 < var_44) {
                            var_36 = var_44;
                          }
                        }
                      }
                      var_14 = (type_14 **)((int)var_14 + 1);
                      var_46 = var_46 + 1;
                    } while ((int)var_14 < (int)var_40);
                  }
                  var_39 = var_39 + 1;
                  local_b4 = unaff_s6;
                  local_b0 = out;
                } while ((int)var_39 < *(int *)var_10);
              }
              if (var_36 != 0) {
                var_28 = (out->type_location).end.file;
                if (var_28 < (char *)(out->type_location).end.line) {
                  (out->type_location).end.file = var_28 + 1;
                  *var_28 = '\n';
                }
                else {
                  (*(type_6 *)PTR___overflow_0008de84)(out,10);
                }
                puVar14 = PTR_symbols_0008d7a4;
                var_8 = var_36 + 2;
                if (var_17->lookahead_tokens == (type_5 *)0x0) {
                  var_40 = (type_15 **)0x1;
                }
                else {
                  var_40 = (type_15 **)0x1;
                  if (0 < *(int *)var_10) {
                    var_36 = 0;
                    var_40 = (type_15 **)0x1;
                    do {
                      var_16 = *(int **)(var_24 + -0x1cf0);
                      var_19 = (type_1 *)(var_36 >> 5);
                      if ((type_8)((int)var_19 - var_16[1]) < (type_8)var_16[2]) {
                        var_39 = *(type_8 *)(var_16[3] + ((int)var_19 - var_16[1]) * 4) >>
                                 (var_36 & 0x1f) & 1;
                      }
                      else {
                        var_39 = (**(type_6 **)(*var_16 + 0xc))(var_16,var_36);
                      }
                      if (var_39 != 0) {
                        var_40 = (type_15 **)0x0;
                      }
                      if (0 < var_17->num) {
                        var_12 = var_36 * 4;
                        var_14 = var_17->rules;
                        local_b0 = (type_3 *)&var_42->type_name;
                        var_9 = 0;
                        local_b4 = (type_15 *)(var_36 & 0x1f);
                        var_43 = 0;
                        do {
                          pbVar18 = var_17->lookahead_tokens[var_9];
                          var_44 = (int)var_19 - (pbVar18->b).cindex;
                          if (var_44 < (pbVar18->b).csize) {
                            var_44 = (pbVar18->b).cdata[var_44] >> (int)local_b4 & 1;
                          }
                          else {
                            _Var24 = (*((pbVar18->b).vtable)->test)(pbVar18,var_36);
                            var_44 = var_45(extraout_var_00,_Var24);
                          }
                          uVar44 = var_43;
                          if (var_44 != 0) {
                            if (var_39 == 0) {
                              var_47 = (type_3 *)*var_14;
                              var_39 = var_44;
                              uVar44 = var_44;
                              if (var_42 != var_47) {
                                var_40 = (type_15 **)0x0;
                                (*local_c8)(out,var_8,**(type_4 **)(*(int *)puVar14 + var_12),
                                            &var_47->type_name,&var_47->type_location,1);
                                uVar44 = var_43;
                              }
                            }
                            else {
                              uVar12 = **(type_4 **)(*(int *)puVar14 + var_12);
                              if (var_43 != 0) {
                                (*local_c8)(out,var_8,uVar12,local_b0,&var_42->type_location,1);
                                uVar12 = **(type_4 **)(*(int *)puVar14 + var_12);
                              }
                              var_40 = (type_15 **)0x0;
                              (*local_c8)(out,var_8,uVar12,(type_21 *)&(*var_14)->number,
                                          &(*var_14)->lhs,0);
                              uVar44 = 0;
                            }
                          }
                          var_9 = var_9 + 1;
                          var_14 = var_14 + 1;
                          var_21 = var_40;
                          var_43 = uVar44;
                        } while (var_9 < var_17->num);
                      }
                      var_36 = var_36 + 1;
                    } while ((int)var_36 < *(int *)var_10);
                  }
                }
                if (var_42 != (type_3 *)0x0) {
                  var_28 = var_48(var_2 + 0x3c20);
                  uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,var_2 + 0x6fb8,5);
                  (*local_c8)(out,var_8,uVar12,&var_42->type_name,&var_42->type_location,1);
                  var_8 = (*(type_6 *)PTR_strcmp_0008dfc8)(var_28,var_2 + 0x715c);
                  if (((var_8 != 0) &&
                      ((var_8 = (*(type_6 *)PTR_strcmp_0008dfc8)(var_28,var_2 + 0x7164),
                       var_8 != 0 || (var_40 == (type_15 **)0x0)))) &&
                     ((var_17->num != 1 || (var_17->rules[0]->number != 0)))) {
                    (*(type_6 *)PTR___assert_fail_0008de30)
                              (var_2 + 0x717c,var_2 + 0x7170,0x147,
                               var_2 + 0x7220);
                    return;
                  }
                  (*(type_6 *)PTR_free_0008df9c)(var_28);
                }
              }
              goto LAB_0003c4e4;
            }
            if (var_17->lookahead_tokens == (type_5 *)0x0) goto LAB_0003c4e4;
            var_36 = 0;
            if (0 < *(int *)var_10) goto LAB_0003c1e8;
            ptVar35 = unaff_s6->type_12;
          }
          (*pcVar19)(ptVar35,out,0);
          if (((*(type_8 *)var_7 & 8) != 0) && (unaff_s6->solved_conflicts != (char *)0x0)) {
            var_28 = (out->type_location).end.file;
            if (var_28 < (char *)(out->type_location).end.line) {
              (out->type_location).end.file = var_28 + 1;
              *var_28 = '\n';
            }
            else {
              (*(type_6 *)PTR___overflow_0008de84)(out,10);
            }
            (*(type_6 *)PTR_fputs_unlocked_0008dfe0)(unaff_s6->solved_conflicts,out);
          }
          var_20 = var_20 + 1;
        } while ((int)var_20 < *(int *)puVar5);
        pbVar18 = *(type_5 *)(var_24 + -0x1cf0);
      }
      var_49(pbVar18);
      if ((*(type_8 *)var_7 & 2) != 0) {
        (*(type_6 *)PTR_free_closure_0008d7f4)();
      }
      var_50((type_17 *)out);
      if (var_51 == *(int *)puVar9) {
        return;
      }
      (*(type_6 *)PTR___stack_chk_fail_0008df68)();
LAB_0003ca90:
      var_8 = 3;
LAB_0003ca94:
      uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,local_b0[0xa4].props + 1,5);
      (*(type_6 *)PTR___sprintf_chk_0008de24)
                ((type_1 *)((int)var_40 + (int)var_14),1,0xffffffff,uVar12);
      if (0 < unaff_s6->number) {
        var_9 = 0;
        var_12 = 0;
        do {
          if (*(type_10 **)(*(int *)(*(int *)PTR_rules_0008d784 + var_9 + 8) + 0x80) == var_17)
          {
            var_51 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
            if (0x41 < (type_8)(var_8 + var_51)) {
              (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,local_c8,var_40);
              var_13[0] = '\0';
              var_51 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
            }
            (*(type_6 *)PTR___sprintf_chk_0008de24)
                      ((type_1 *)((int)var_40 + var_51),1,0xffffffff,var_42,var_12);
            var_52();
            return;
          }
          var_12 = var_12 + 1;
          var_9 = var_9 + 0x60;
          var_14 = (type_14 **)PTR_rules_0008d784;
        } while (var_12 < unaff_s6->number);
      }
      if (var_21 != (type_15 **)0x0) {
        var_9 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
        *(type_19 *)((int)var_40 + var_9) = 0x2c;
        ((type_19 *)((int)var_40 + var_9))[1] = 0;
LAB_0003c910:
        var_9 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
        if (0x41 < (type_8)(var_8 + var_9)) {
          var_8 = 3;
          (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,local_c8,var_40);
          var_13[0] = '\0';
          var_9 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
        }
        uVar12 = (*(type_6 *)PTR_dcgettext_0008df70)(0,local_b4,5);
        (*(type_6 *)PTR___sprintf_chk_0008de24)
                  ((type_1 *)((int)var_40 + var_9),1,0xffffffff,uVar12);
        var_7 = PTR_rules_0008d784;
        if (0 < unaff_s6->number) {
          var_21 = (type_15 **)0x0;
          var_9 = 0;
          do {
            var_53 = *(type_4 **)((int)var_21 + *(int *)var_7 + 0xc);
            var_18 = (type_10 *)*var_53;
            if ((int)var_18 < 0) {
              var_12 = unaff_s6->number;
            }
            else {
              do {
                var_53 = var_53 + 1;
                if (var_18 == var_17) {
                  var_12 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
                  if (0x41 < (type_8)(var_8 + var_12)) {
                    var_8 = 3;
                    (*(type_6 *)PTR___fprintf_chk_0008de68)(out,1,local_c8,var_40);
                    var_13[0] = '\0';
                    var_12 = (*(type_6 *)PTR_strlen_0008def8)(var_40);
                  }
                  (*(type_6 *)PTR___sprintf_chk_0008de24)
                            ((type_1 *)((int)var_40 + var_12),1,0xffffffff,var_42,var_9);
                  break;
                }
                var_18 = (type_10 *)*var_53;
              } while (-1 < (int)var_18);
              var_12 = unaff_s6->number;
            }
            var_9 = var_9 + 1;
            var_21 = var_21 + 0x18;
            var_14 = (type_14 **)var_7;
          } while (var_9 < var_12);
        }
      }
    }
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (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: (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))))) (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (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: (parenthesized_expression (binary_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (do_statement body: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (identifier))) consequence: (compound_statement (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (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 (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) (number_literal) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (goto_statement label: (statement_identifier))) (goto_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: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (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: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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)))))))) (labeled_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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: (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: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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)))) (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))) consequence: (goto_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 (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (break_statement)) (labeled_statement label: (statement_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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (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: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (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: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) (identifier) (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: (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) (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: (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))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) (if_statement condition: (parenthesized_expression (binary_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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (do_statement body: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (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: (number_literal))))))) condition: (parenthesized_expression (binary_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: (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 (number_literal) (identifier) (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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (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: (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: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement)) (goto_statement label: (statement_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (break_statement)) (goto_statement label: (statement_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) 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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) right: (parenthesized_expression (comma_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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))))))) (if_statement condition: (parenthesized_expression (binary_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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))))) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))))))) (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: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (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 (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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 (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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 (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_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 (identifier)))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) 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 (identifier) (number_literal))))))) (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 (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (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))) (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 (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (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 (cast_expression type: (type_descriptor type: (type_identifier) 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))))) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (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 (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (number_literal) (number_literal) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) index: (number_literal)) right: (number_literal))) (labeled_statement label: (statement_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 (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (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 (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 (number_literal) (identifier) (number_literal))))) (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))) (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 (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (number_literal) (number_literal) (identifier) (identifier)))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))))) condition: (parenthesized_expression (true))))))

void MASKED(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  undefined4 uVar11;
  undefined *puVar12;
  undefined *puVar13;
  undefined *puVar14;
  int iVar15;
  int *piVar16;
  code *pcVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  undefined4 uVar21;
  undefined1 *puVar22;
  int iVar23;
  int *piVar24;
  undefined4 *puVar25;
  int *piVar26;
  uint *puVar27;
  int iVar28;
  int iVar29;
  uint uVar30;
  int *unaff_s3;
  int *unaff_s4;
  uint *puVar31;
  int *unaff_s6;
  uint *puVar32;
  uint *puVar33;
  int *unaff_s8;
  uint uVar34;
  undefined *local_dc;
  int *local_d8;
  code *local_c8;
  int *local_c4;
  undefined *local_c0;
  undefined *local_bc;
  undefined *local_b8;
  int *local_b4;
  undefined *local_b0;
  int local_88 [23];
  int local_2c;
  
  puVar9 = PTR___stack_chk_guard_0008df8c;
  puVar2 = PTR_LAB_0008d628;
  local_2c = *(int *)PTR___stack_chk_guard_0008df8c;
  local_bc = PTR_LAB_0008d628;
  puVar10 = (undefined *)
            xfopen(*(undefined4 *)PTR_spec_verbose_file_0008d8bc,PTR_LAB_0008d628 + 0x4224);
  puVar5 = PTR_max_user_token_number_0008da2c;
  reduce_output(puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x7080,5);
  grammar_rules_partial_print(puVar10,uVar11,PTR_rule_useless_in_parser_p_0008db64);
  conflicts_output(puVar10);
  grammar_rules_print(puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70ac,5);
  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);
  puVar4 = PTR_undeftoken_0008da10;
  puVar1 = PTR_token_translations_0008d958;
  puVar6 = PTR_DAT_0008d800;
  puVar3 = PTR_LAB_0008d628;
  if (-1 < *(int *)puVar5) {
    iVar29 = 0;
    puVar12 = PTR_LAB_0008d628 + 0x4d80;
    puVar13 = PTR_LAB_0008d628 + 0x7100;
    local_c8 = (code *)PTR_LAB_0008d628;
    puVar14 = PTR_LAB_0008d628 + 0x176c;
    local_c0 = PTR_DAT_0008d800;
    do {
      while( true ) {
        puVar7 = PTR_symbols_0008d7a4;
        unaff_s4 = (int *)(iVar29 * 4);
        local_dc = puVar10;
        if (*(int *)(*(int *)puVar1 + (int)unaff_s4) ==
            *(int *)(*(int *)(*(int *)puVar4 + 0x28) + 0x80)) break;
        unaff_s3 = (int *)**(undefined4 **)
                            (*(int *)PTR_symbols_0008d7a4 +
                            *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4);
        unaff_s6 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s3);
        local_88[0]._0_1_ = 0;
        (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s3,puVar10);
        iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);
        if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {
          unaff_s6 = (int *)0x3;
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
          local_88[0]._0_1_ = 0;
        }
        if (*(int *)(*(int *)(*(int *)(*(int *)puVar7 + *(int *)(*(int *)puVar1 + (int)unaff_s4) * 4
                                      ) + 0x28) + 4) != 0) {
          iVar15 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar6 + -0x4ae0);
          unaff_s6 = (int *)((int)unaff_s6 + iVar15);
          iVar15 = (*(code *)PTR_strlen_0008def8)(local_88);
          if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar15)) {
            unaff_s6 = (int *)0x3;
            (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
            local_88[0]._0_1_ = 0;
          }
        }
        puVar8 = PTR_nrules_0008d7c8;
        (*(code *)PTR___sprintf_chk_0008de24)(local_88,1,0x5a,puVar3 + 0x7108,iVar29);
        puVar7 = PTR_rules_0008d784;
        if (0 < *(int *)puVar8) {
          unaff_s3 = (int *)0x0;
          iVar15 = 0;
LAB_0003b85c:
          do {
            piVar16 = *(int **)((int)unaff_s3 + *(int *)puVar7 + 0xc);
            iVar23 = *piVar16;
            unaff_s8 = (int *)puVar7;
            if (-1 < iVar23) {
              do {
                if (*(int *)(*(int *)puVar1 + (int)unaff_s4) == iVar23) {
                  iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);
                  if ((undefined *)0x41 < (undefined *)((int)unaff_s6 + iVar23)) {
                    unaff_s6 = (int *)0x3;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,local_88);
                    local_88[0]._0_1_ = 0;
                    iVar23 = (*(code *)PTR_strlen_0008def8)(local_88);
                  }
                  iVar28 = iVar15 + 1;
                  (*(code *)PTR___sprintf_chk_0008de24)
                            ((int)local_88 + iVar23,1,0xffffffff,puVar12,iVar15);
                  unaff_s3 = unaff_s3 + 0x18;
                  iVar15 = iVar28;
                  if (iVar28 < *(int *)puVar8) goto LAB_0003b85c;
                  goto LAB_0003b8bc;
                }
                piVar16 = piVar16 + 1;
                iVar23 = *piVar16;
              } while (-1 < iVar23);
            }
            iVar15 = iVar15 + 1;
            unaff_s3 = unaff_s3 + 0x18;
          } while (iVar15 < *(int *)puVar8);
        }
LAB_0003b8bc:
        iVar29 = iVar29 + 1;
        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar14,local_88);
        if (*(int *)puVar5 < iVar29) goto LAB_0003b8ec;
      }
      iVar29 = iVar29 + 1;
    } while (iVar29 <= *(int *)puVar5);
  }
LAB_0003b8ec:
  puVar1 = PTR_nsyms_0008d7bc;
  puVar6 = PTR_ntokens_0008d77c;
  puVar3 = PTR_LAB_0008d628;
  local_c4 = (int *)PTR_nsyms_0008d7bc;
  (*(code *)PTR_fwrite_unlocked_0008df80)(PTR_LAB_0008d628 + 0x4938,1,2,puVar10);
  uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x70d4,5);
  (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar2 + 0x37a8,uVar11);
  piVar16 = *(int **)puVar6;
  if (*(int *)puVar1 <= (int)piVar16) goto LAB_0003bb54;
  local_d8 = (int *)PTR_symbols_0008d7a4;
  unaff_s8 = local_88;
  local_b4 = (int *)(PTR_LAB_0008d628 + 0x711c);
  local_c0 = PTR_LAB_0008d628;
  local_dc = PTR_LAB_0008d628 + 0x4d80;
  local_c8 = (code *)(PTR_LAB_0008d628 + 0x7100);
  local_bc = PTR_LAB_0008d628;
  local_b8 = PTR_DAT_0008d800;
  local_b0 = PTR_LAB_0008d628;
  unaff_s6 = (int *)PTR_nrules_0008d7c8;
  do {
    uVar11 = **(undefined4 **)(*local_d8 + (int)piVar16 * 4);
    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);
    if (*unaff_s6 < 1) {
      unaff_s4 = (int *)0x0;
      iVar15 = 0;
    }
    else {
      unaff_s4 = (int *)0x0;
      iVar15 = 0;
      iVar23 = *(int *)PTR_rules_0008d784;
      iVar28 = *unaff_s6 * 0x60 + iVar23;
      do {
        if (*(int **)(*(int *)(iVar23 + 8) + 0x80) == piVar16) {
          iVar15 = iVar15 + 1;
        }
        piVar24 = *(int **)(iVar23 + 0xc);
        piVar26 = (int *)*piVar24;
        while (-1 < (int)piVar26) {
          piVar24 = piVar24 + 1;
          if (piVar26 == piVar16) {
            unaff_s4 = (int *)((int)unaff_s4 + 1);
            break;
          }
          piVar26 = (int *)*piVar24;
        }
        iVar23 = iVar23 + 0x60;
      } while (iVar28 != iVar23);
    }
    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);
    if (*(int *)(*(int *)(*(int *)(*local_d8 + (int)piVar16 * 4) + 0x28) + 4) != 0) {
      iVar23 = (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8 + -0x4ae0);
      iVar29 = iVar29 + iVar23;
    }
    local_88[0]._0_1_ = 0;
    (*(code *)PTR___sprintf_chk_0008de24)(unaff_s8,1,0x5a,local_c0 + 0x7108,piVar16);
    unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
    if ((int)unaff_s3 + iVar29 == 0) {
      if (iVar15 != 0) goto LAB_0003ca94;
    }
    else {
      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
      local_88[0]._0_1_ = 0;
      if (iVar15 != 0) {
        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        if ((int)unaff_s3 + 3U < 0x42) goto LAB_0003ca90;
        (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
        local_88[0]._0_1_ = 0;
        unaff_s3 = (int *)(*(code *)PTR_strlen_0008def8)(unaff_s8);
        goto LAB_0003ca90;
      }
      iVar29 = 3;
    }
    if (unaff_s4 != (int *)0x0) goto LAB_0003c910;
    while( true ) {
      piVar16 = (int *)((int)piVar16 + 1);
      (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_bc + 0x176c,unaff_s8);
      if ((int)piVar16 < *local_c4) break;
LAB_0003bb54:
      puVar2 = PTR_report_flag_0008d71c;
      local_c4 = (int *)PTR_report_flag_0008d71c;
      if ((*(uint *)PTR_report_flag_0008d71c & 2) != 0) {
        (*(code *)PTR_new_closure_0008d7d4)(*(undefined4 *)PTR_nritems_0008d7d0);
      }
      puVar5 = PTR_nstates_0008d698;
      puVar1 = PTR_DAT_0008d618;
      local_d8 = (int *)PTR_DAT_0008d618;
      uVar11 = bitset_create(*(undefined4 *)puVar6,1);
      iVar29 = *(int *)puVar5;
      *(undefined4 *)(puVar1 + -0x1cf0) = uVar11;
      puVar12 = PTR_states_0008d7f8;
      puVar4 = PTR_LAB_0008d628;
      piVar16 = (int *)puVar5;
      if (0 < iVar29) {
        local_c0 = (undefined *)0x0;
        pcVar17 = (code *)(PTR_LAB_0008db4c + -0x4cdc);
        local_bc = PTR_DAT_0008d800 + -0x4654;
        local_c8 = (code *)(PTR_LAB_0008db4c + -0x4f10);
        do {
          unaff_s6 = *(int **)(*(int *)puVar12 + (int)local_c0 * 4);
          (*(code *)PTR_fwrite_unlocked_0008df80)(puVar3 + 0x4938,1,2,puVar10);
          uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,puVar4 + 0x7128,5);
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,uVar11,*unaff_s6);
          puVar22 = *(undefined1 **)(puVar10 + 0x14);
          if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
            *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
            *puVar22 = 10;
          }
          else {
            (*(code *)PTR___overflow_0008de84)(puVar10,10);
          }
          piVar24 = unaff_s6 + 10;
          piVar16 = (int *)unaff_s6[9];
          if ((*(uint *)puVar2 & 2) != 0) {
            (*(code *)PTR_closure_0008d7dc)(piVar24,piVar16);
            piVar24 = *(int **)PTR_itemset_0008d7e4;
            piVar16 = *(int **)PTR_nitemset_0008d7d8;
          }
          unaff_s8 = piVar16;
          if (piVar16 != (int *)0x0) {
            puVar22 = *(undefined1 **)(puVar10 + 0x14);
            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
              *puVar22 = 10;
            }
            else {
              (*(code *)PTR___overflow_0008de84)(puVar10,10);
            }
            unaff_s4 = (int *)PTR_symbols_0008d7a4;
            unaff_s3 = (int *)PTR_rules_0008d784;
            unaff_s8 = (int *)PTR_ritem_0008d780;
            piVar16 = piVar24 + (int)piVar16;
            local_dc = (undefined *)0x0;
            local_b8 = PTR_LAB_0008d628 + 0x7138;
            do {
              puVar27 = (uint *)(*unaff_s8 + *piVar24 * 4);
              uVar30 = *puVar27;
              puVar31 = puVar27;
              while (-1 < (int)uVar30) {
                puVar31 = puVar31 + 1;
                uVar30 = *puVar31;
              }
              iVar29 = ~uVar30 * 0x60;
              rule_lhs_print(*unaff_s3 + iVar29,local_dc,puVar10);
              puVar31 = *(uint **)(*unaff_s3 + iVar29 + 0xc);
              local_dc = *(undefined **)(*unaff_s3 + iVar29 + 8);
              puVar32 = puVar31;
              if (puVar31 < puVar27) {
                do {
                  puVar33 = puVar32 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + *puVar32 * 4));
                  puVar32 = puVar33;
                } while (puVar33 < puVar27);
                puVar31 = puVar31 + ((uint)((int)puVar27 + (-1 - (int)puVar31)) >> 2) + 1;
              }
              (*(code *)PTR_fwrite_unlocked_0008df80)(puVar4 + 0x7134,1,2,puVar10);
              if (**(int **)(*unaff_s3 + iVar29 + 0xc) < 0) {
                (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_b8);
              }
              else {
                uVar30 = *puVar31;
                while (-1 < (int)uVar30) {
                  puVar31 = puVar31 + 1;
                  (*(code *)PTR___fprintf_chk_0008de68)
                            (puVar10,1,local_bc,**(undefined4 **)(*unaff_s4 + uVar30 * 4));
                  uVar30 = *puVar31;
                }
              }
              if (((*(uint *)puVar2 & 4) == 0) || (-1 < (int)*puVar27)) {
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) goto LAB_0003be58;
LAB_0003c60c:
                (*(code *)PTR___overflow_0008de84)(puVar10,10);
              }
              else {
                state_rule_lookahead_tokens_print(unaff_s6,*unaff_s3 + iVar29,puVar10);
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (*(undefined1 **)(puVar10 + 0x18) <= puVar22) goto LAB_0003c60c;
LAB_0003be58:
                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                *puVar22 = 10;
              }
              piVar24 = piVar24 + 1;
            } while (piVar16 != piVar24);
          }
          (*pcVar17)(unaff_s6[2],puVar10,1);
          piVar16 = (int *)unaff_s6[4];
          piVar24 = (int *)*piVar16;
          if (0 < (int)piVar24) {
            piVar26 = piVar16 + 1;
            uVar30 = 0;
            unaff_s4 = (int *)0x0;
            unaff_s3 = piVar26;
            do {
              if (((undefined4 *)*unaff_s3 != (undefined4 *)0x0) &&
                 (uVar18 = (*(code *)PTR_strlen_0008def8)(*(undefined4 *)*unaff_s3), uVar30 < uVar18
                 )) {
                uVar30 = uVar18;
              }
              unaff_s4 = (int *)((int)unaff_s4 + 1);
              unaff_s3 = unaff_s3 + 1;
            } while (unaff_s4 != piVar24);
            if (uVar30 != 0) {
              puVar22 = *(undefined1 **)(puVar10 + 0x14);
              if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                *puVar22 = 10;
              }
              else {
                (*(code *)PTR___overflow_0008de84)(puVar10,10);
              }
              iVar29 = *piVar16;
              if (0 < iVar29) {
                unaff_s3 = (int *)0x0;
                puVar13 = PTR_LAB_0008d628 + 0x7028;
                unaff_s4 = (int *)(PTR_LAB_0008d628 + 0x7144);
                do {
                  while ((undefined4 *)*piVar26 != (undefined4 *)0x0) {
                    uVar11 = *(undefined4 *)*piVar26;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,puVar13,uVar11);
                    iVar29 = (*(code *)PTR_strlen_0008def8)(uVar11);
                    unaff_s8 = (int *)((uVar30 + 2) - iVar29);
                    if (0 < (int)unaff_s8) {
                      do {
                        puVar22 = *(undefined1 **)(puVar10 + 0x14);
                        if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                          *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                          *puVar22 = 0x20;
                        }
                        else {
                          (*(code *)PTR___overflow_0008de84)(puVar10,0x20);
                        }
                        unaff_s8 = (int *)((int)unaff_s8 + -1);
                      } while (unaff_s8 != (int *)0x0);
                    }
                    uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,unaff_s4,5);
                    unaff_s3 = (int *)((int)unaff_s3 + 1);
                    piVar26 = piVar26 + 1;
                    (*(code *)PTR_fputs_unlocked_0008dfe0)(uVar11,puVar10);
                    iVar29 = *piVar16;
                    if (iVar29 <= (int)unaff_s3) goto LAB_0003bfe0;
                  }
                  unaff_s3 = (int *)((int)unaff_s3 + 1);
                  piVar26 = piVar26 + 1;
                } while ((int)unaff_s3 < iVar29);
              }
            }
          }
LAB_0003bfe0:
          piVar16 = (int *)unaff_s6[3];
          if (*piVar16 == 0) {
LAB_0003c4e4:
            iVar29 = unaff_s6[2];
          }
          else {
            iVar29 = *(int *)(*(int *)PTR_yydefact_0008d968 + *unaff_s6 * 4);
            if (iVar29 == 0) {
              local_dc = (undefined *)0x0;
            }
            else {
              local_dc = (undefined *)(*(int *)PTR_rules_0008d784 + iVar29 * 0x60 + -0x60);
              unaff_s3 = (int *)PTR_rules_0008d784;
            }
            piVar24 = (int *)unaff_s6[2];
            (**(code **)(**(int **)(puVar1 + -0x1cf0) + 0x24))(*(int **)(puVar1 + -0x1cf0));
            iVar29 = *piVar24;
            if (0 < iVar29) {
              unaff_s4 = piVar24 + 1;
              unaff_s3 = (int *)0x0;
LAB_0003c088:
              do {
                if (*unaff_s4 != 0) {
                  uVar30 = *(uint *)(*unaff_s4 + 4);
                  if (*(int *)puVar6 <= (int)uVar30) break;
                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar18 = (uVar30 >> 5) - puVar25[1];
                  if ((uint)puVar25[2] <= uVar18) {
                    unaff_s3 = (int *)((int)unaff_s3 + 1);
                    unaff_s4 = unaff_s4 + 1;
                    (**(code **)*puVar25)();
                    iVar29 = *piVar24;
                    if (iVar29 <= (int)unaff_s3) break;
                    goto LAB_0003c088;
                  }
                  puVar31 = (uint *)(puVar25[3] + uVar18 * 4);
                  *puVar31 = *puVar31 | 1 << (uVar30 & 0x1f);
                }
                unaff_s3 = (int *)((int)unaff_s3 + 1);
                unaff_s4 = unaff_s4 + 1;
              } while ((int)unaff_s3 < iVar29);
            }
            piVar24 = (int *)unaff_s6[4];
            iVar29 = 0;
            if (0 < *piVar24) {
LAB_0003c138:
              do {
                if (piVar24[iVar29 + 1] != 0) {
                  puVar25 = *(undefined4 **)(puVar1 + -0x1cf0);
                  uVar18 = *(uint *)(*(int *)(piVar24[iVar29 + 1] + 0x28) + 0x80);
                  uVar30 = (uVar18 >> 5) - puVar25[1];
                  if ((uint)puVar25[2] <= uVar30) {
                    iVar29 = iVar29 + 1;
                    (**(code **)*puVar25)();
                    piVar24 = (int *)unaff_s6[4];
                    if (*piVar24 <= iVar29) break;
                    goto LAB_0003c138;
                  }
                  puVar31 = (uint *)(puVar25[3] + uVar30 * 4);
                  *puVar31 = *puVar31 | 1 << (uVar18 & 0x1f);
                }
                iVar29 = iVar29 + 1;
              } while (iVar29 < *piVar24);
            }
            if (local_dc != (undefined *)0x0) {
              uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
              uVar30 = (*(code *)PTR_strlen_0008def8)(uVar11);
              if ((piVar16[1] != 0) && (0 < *(int *)puVar6)) {
LAB_0003c1e8:
                unaff_s4 = (int *)PTR_symbols_0008d7a4;
                uVar18 = 0;
                do {
                  piVar24 = *(int **)(puVar1 + -0x1cf0);
                  uVar19 = (uVar18 >> 5) - piVar24[1];
                  if (uVar19 < (uint)piVar24[2]) {
                    uVar19 = *(uint *)(piVar24[3] + uVar19 * 4) >> (uVar18 & 0x1f) & 1;
                  }
                  else {
                    uVar19 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar18);
                  }
                  unaff_s8 = (int *)*piVar16;
                  piVar24 = piVar16 + 2;
                  unaff_s3 = piVar24;
                  if (0 < (int)unaff_s8) {
                    local_b8 = (undefined *)(uVar18 & 0x1f);
                    unaff_s3 = (int *)0x0;
                    do {
                      piVar26 = *(int **)(piVar16[1] + (int)unaff_s3 * 4);
                      uVar20 = (uVar18 >> 5) - piVar26[1];
                      if (uVar20 < (uint)piVar26[2]) {
                        uVar20 = *(uint *)(piVar26[3] + uVar20 * 4) >> (int)local_b8 & 1;
                      }
                      else {
                        uVar20 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);
                        unaff_s8 = (int *)*piVar16;
                      }
                      if (uVar20 != 0) {
                        if (uVar19 == 0) {
                          uVar19 = uVar20;
                          if ((local_dc != (undefined *)*piVar24) &&
                             (uVar20 = (*(code *)PTR_strlen_0008def8)
                                                 (**(undefined4 **)(*unaff_s4 + uVar18 * 4)),
                             uVar30 < uVar20)) {
                            uVar30 = uVar20;
                          }
                        }
                        else {
                          uVar20 = (*(code *)PTR_strlen_0008def8)
                                             (**(undefined4 **)(*unaff_s4 + uVar18 * 4));
                          if (uVar30 < uVar20) {
                            uVar30 = uVar20;
                          }
                        }
                      }
                      unaff_s3 = (int *)((int)unaff_s3 + 1);
                      piVar24 = piVar24 + 1;
                    } while ((int)unaff_s3 < (int)unaff_s8);
                  }
                  uVar18 = uVar18 + 1;
                  local_b4 = unaff_s6;
                  local_b0 = puVar10;
                } while ((int)uVar18 < *(int *)puVar6);
              }
              if (uVar30 != 0) {
                puVar22 = *(undefined1 **)(puVar10 + 0x14);
                if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
                  *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
                  *puVar22 = 10;
                }
                else {
                  (*(code *)PTR___overflow_0008de84)(puVar10,10);
                }
                puVar13 = PTR_symbols_0008d7a4;
                iVar29 = uVar30 + 2;
                if (piVar16[1] == 0) {
                  unaff_s8 = (int *)0x1;
                }
                else {
                  unaff_s8 = (int *)0x1;
                  if (0 < *(int *)puVar6) {
                    uVar30 = 0;
                    unaff_s8 = (int *)0x1;
                    do {
                      piVar24 = *(int **)(puVar1 + -0x1cf0);
                      local_b8 = (undefined *)(uVar30 >> 5);
                      if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {
                        uVar18 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>
                                 (uVar30 & 0x1f) & 1;
                      }
                      else {
                        uVar18 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);
                      }
                      if (uVar18 != 0) {
                        unaff_s8 = (int *)0x0;
                      }
                      if (0 < *piVar16) {
                        iVar23 = uVar30 * 4;
                        unaff_s3 = piVar16 + 2;
                        local_b0 = local_dc + 4;
                        iVar15 = 0;
                        local_b4 = (int *)(uVar30 & 0x1f);
                        uVar19 = 0;
                        do {
                          piVar24 = *(int **)(piVar16[1] + iVar15 * 4);
                          if ((uint)((int)local_b8 - piVar24[1]) < (uint)piVar24[2]) {
                            uVar20 = *(uint *)(piVar24[3] + ((int)local_b8 - piVar24[1]) * 4) >>
                                     (int)local_b4 & 1;
                          }
                          else {
                            uVar20 = (**(code **)(*piVar24 + 0xc))(piVar24,uVar30);
                          }
                          uVar34 = uVar19;
                          if (uVar20 != 0) {
                            if (uVar18 == 0) {
                              puVar14 = (undefined *)*unaff_s3;
                              uVar18 = uVar20;
                              uVar34 = uVar20;
                              if (local_dc != puVar14) {
                                unaff_s8 = (int *)0x0;
                                (*local_c8)(puVar10,iVar29,
                                            **(undefined4 **)(*(int *)puVar13 + iVar23),puVar14 + 4,
                                            puVar14 + 8,1);
                                uVar34 = uVar19;
                              }
                            }
                            else {
                              uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);
                              if (uVar19 != 0) {
                                (*local_c8)(puVar10,iVar29,uVar11,local_b0,local_dc + 8,1);
                                uVar11 = **(undefined4 **)(*(int *)puVar13 + iVar23);
                              }
                              unaff_s8 = (int *)0x0;
                              (*local_c8)(puVar10,iVar29,uVar11,*unaff_s3 + 4,*unaff_s3 + 8,0);
                              uVar34 = 0;
                            }
                          }
                          iVar15 = iVar15 + 1;
                          unaff_s3 = unaff_s3 + 1;
                          unaff_s4 = unaff_s8;
                          uVar19 = uVar34;
                        } while (iVar15 < *piVar16);
                      }
                      uVar30 = uVar30 + 1;
                    } while ((int)uVar30 < *(int *)puVar6);
                  }
                }
                if (local_dc != (undefined *)0x0) {
                  uVar11 = muscle_percent_define_get(PTR_LAB_0008d628 + 0x3c20);
                  uVar21 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x6fb8,5);
                  (*local_c8)(puVar10,iVar29,uVar21,local_dc + 4,local_dc + 8,1);
                  iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x715c);
                  if (((iVar29 != 0) &&
                      ((iVar29 = (*(code *)PTR_strcmp_0008dfc8)(uVar11,PTR_LAB_0008d628 + 0x7164),
                       iVar29 != 0 || (unaff_s8 == (int *)0x0)))) &&
                     ((*piVar16 != 1 || (*(int *)(piVar16[2] + 4) != 0)))) {
                    (*(code *)PTR___assert_fail_0008de30)
                              (PTR_LAB_0008d628 + 0x717c,PTR_LAB_0008d628 + 0x7170,0x147,
                               PTR_LAB_0008d628 + 0x7220);
                    return;
                  }
                  (*(code *)PTR_free_0008df9c)(uVar11);
                }
              }
              goto LAB_0003c4e4;
            }
            if (piVar16[1] == 0) goto LAB_0003c4e4;
            uVar30 = 0;
            if (0 < *(int *)puVar6) goto LAB_0003c1e8;
            iVar29 = unaff_s6[2];
          }
          (*pcVar17)(iVar29,puVar10,0);
          if (((*(uint *)puVar2 & 8) != 0) && (unaff_s6[7] != 0)) {
            puVar22 = *(undefined1 **)(puVar10 + 0x14);
            if (puVar22 < *(undefined1 **)(puVar10 + 0x18)) {
              *(undefined1 **)(puVar10 + 0x14) = puVar22 + 1;
              *puVar22 = 10;
            }
            else {
              (*(code *)PTR___overflow_0008de84)(puVar10,10);
            }
            (*(code *)PTR_fputs_unlocked_0008dfe0)(unaff_s6[7],puVar10);
          }
          local_c0 = local_c0 + 1;
        } while ((int)local_c0 < *(int *)puVar5);
        uVar11 = *(undefined4 *)(puVar1 + -0x1cf0);
      }
      bitset_free(uVar11);
      if ((*(uint *)puVar2 & 2) != 0) {
        (*(code *)PTR_free_closure_0008d7f4)();
      }
      xfclose(puVar10);
      if (local_2c == *(int *)puVar9) {
        return;
      }
      (*(code *)PTR___stack_chk_fail_0008df68)();
LAB_0003ca90:
      iVar29 = 3;
LAB_0003ca94:
      uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b0 + 0x7110,5);
      (*(code *)PTR___sprintf_chk_0008de24)
                ((undefined *)((int)unaff_s8 + (int)unaff_s3),1,0xffffffff,uVar11);
      puVar2 = PTR_rules_0008d784;
      if (0 < *unaff_s6) {
        iVar15 = 0;
        iVar23 = 0;
        do {
          if (*(int **)(*(int *)(*(int *)puVar2 + iVar15 + 8) + 0x80) == piVar16) {
            iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            if (0x41 < (uint)(iVar29 + iVar28)) {
              iVar29 = 3;
              (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
              local_88[0]._0_1_ = 0;
              iVar28 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
            }
            (*(code *)PTR___sprintf_chk_0008de24)
                      ((undefined *)((int)unaff_s8 + iVar28),1,0xffffffff,local_dc,iVar23);
          }
          iVar23 = iVar23 + 1;
          iVar15 = iVar15 + 0x60;
          unaff_s3 = (int *)puVar2;
        } while (iVar23 < *unaff_s6);
      }
      if (unaff_s4 != (int *)0x0) {
        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        *(undefined1 *)((int)unaff_s8 + iVar15) = 0x2c;
        ((undefined1 *)((int)unaff_s8 + iVar15))[1] = 0;
LAB_0003c910:
        iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        if (0x41 < (uint)(iVar29 + iVar15)) {
          iVar29 = 3;
          (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
          local_88[0]._0_1_ = 0;
          iVar15 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
        }
        uVar11 = (*(code *)PTR_dcgettext_0008df70)(0,local_b4,5);
        (*(code *)PTR___sprintf_chk_0008de24)
                  ((undefined *)((int)unaff_s8 + iVar15),1,0xffffffff,uVar11);
        puVar2 = PTR_rules_0008d784;
        if (0 < *unaff_s6) {
          unaff_s4 = (int *)0x0;
          iVar15 = 0;
          do {
            puVar25 = *(undefined4 **)((int)unaff_s4 + *(int *)puVar2 + 0xc);
            piVar24 = (int *)*puVar25;
            if ((int)piVar24 < 0) {
              iVar23 = *unaff_s6;
            }
            else {
              do {
                puVar25 = puVar25 + 1;
                if (piVar24 == piVar16) {
                  iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  if (0x41 < (uint)(iVar29 + iVar23)) {
                    iVar29 = 3;
                    (*(code *)PTR___fprintf_chk_0008de68)(puVar10,1,local_c8,unaff_s8);
                    local_88[0]._0_1_ = 0;
                    iVar23 = (*(code *)PTR_strlen_0008def8)(unaff_s8);
                  }
                  (*(code *)PTR___sprintf_chk_0008de24)
                            ((undefined *)((int)unaff_s8 + iVar23),1,0xffffffff,local_dc,iVar15);
                  break;
                }
                piVar24 = (int *)*puVar25;
              } while (-1 < (int)piVar24);
              iVar23 = *unaff_s6;
            }
            iVar15 = iVar15 + 1;
            unaff_s4 = unaff_s4 + 0x18;
            unaff_s3 = (int *)puVar2;
          } while (iVar15 < iVar23);
        }
      }
    }
  } while( true );
}

