
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void conflicts_print(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  char *pcVar10;
  int *piVar11;
  size_t sVar12;
  uint uVar13;
  int iVar14;
  int iVar15;
  uint uVar16;
  int *piVar17;
  int iVar18;
  uint uVar19;
  undefined4 *puVar20;
  int iVar21;
  size_t sVar22;
  uint uVar23;
  int iVar24;
  uint uVar25;
  int *piVar26;
  int *piVar27;
  int *piVar28;
  int local_60;
  int local_5c;
  
  puVar5 = PTR_nrules_0008d7c8;
  puVar4 = PTR_rules_0008d784;
  puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;
  if (0 < *(int *)PTR_nrules_0008d7c8) {
    local_60 = 0;
    local_5c = 0;
    puVar7 = PTR_LAB_0008d628 + 0x1cb0;
    puVar8 = PTR_LAB_0008d628 + 0x1c74;
    do {
      while( true ) {
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        puVar2 = PTR_nstates_0008d698;
        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);
        uVar25 = puVar20[0xf];
        uVar23 = puVar20[0x10];
        if ((uVar25 & uVar23) != 0xffffffff) break;
LAB_0001f544:
        local_5c = local_5c + 1;
        local_60 = local_60 + 0x60;
        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;
      }
      if (0 < *(int *)PTR_nstates_0008d698) {
        iVar24 = 0;
        uVar16 = 0;
        do {
          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {
LAB_0001f1f0:
            iVar9 = *(int *)puVar2;
            iVar24 = iVar24 + 1;
            if (iVar9 <= iVar24) goto LAB_0001f330;
          }
          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);
          piVar27 = *(int **)(iVar9 + 0xc);
          piVar26 = *(int **)(iVar9 + 8);
          iVar9 = *piVar27;
          piVar11 = piVar27 + 2;
          if (iVar9 < 1) goto LAB_0001f1f0;
          iVar14 = 0;
          iVar21 = 0;
          do {
            while (puVar20 != (undefined4 *)*piVar11) {
LAB_0001f25c:
              iVar21 = iVar21 + 1;
              piVar11 = piVar11 + 1;
              if (iVar9 <= iVar21) goto LAB_0001f314;
            }
            iVar18 = *piVar26;
            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);
            if (iVar18 < 1) goto LAB_0001f25c;
            iVar9 = 0;
            piVar17 = piVar26;
            do {
              piVar17 = piVar17 + 1;
              if (*piVar17 != 0) {
                uVar19 = *(uint *)(*piVar17 + 4);
                if (*(int *)puVar3 <= (int)uVar19) break;
                uVar13 = (uVar19 >> 5) - piVar28[1];
                if (uVar13 < (uint)piVar28[2]) {
                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;
                }
                else {
                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);
                  iVar18 = *piVar26;
                }
                iVar14 = iVar14 + uVar19;
              }
              iVar9 = iVar9 + 1;
            } while (iVar9 < iVar18);
            iVar9 = *piVar27;
            iVar21 = iVar21 + 1;
            piVar11 = piVar11 + 1;
          } while (iVar21 < iVar9);
LAB_0001f314:
          iVar9 = *(int *)puVar2;
          iVar24 = iVar24 + 1;
          uVar16 = uVar16 + iVar14;
        } while (iVar24 < iVar9);
LAB_0001f330:
        if (uVar25 != uVar16) {
          if (uVar16 == 0) goto LAB_0001f34c;
LAB_0001f358:
          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);
          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);
          goto LAB_0001f390;
        }
LAB_0001f394:
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        if (iVar9 < 1) goto LAB_0001f6ac;
        uVar25 = 0;
        iVar24 = 0;
        do {
          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);
          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);
          iVar9 = *piVar26;
          if (0 < iVar9) {
            iVar14 = 0;
            iVar21 = 0;
            piVar27 = piVar26 + 2;
            do {
              while (puVar20 != (undefined4 *)*piVar27) {
                iVar21 = iVar21 + 1;
                piVar27 = piVar27 + 1;
                if (iVar9 <= iVar21) goto LAB_0001f4c0;
              }
              iVar18 = 0;
              piVar28 = piVar26 + 2;
              do {
                iVar15 = iVar18 * 4;
                iVar18 = iVar18 + 1;
                if (puVar20 != (undefined4 *)*piVar28) {
                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);
                  (**(code **)(*piVar17 + 0x3c))
                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));
                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);
                  iVar9 = *piVar26;
                  iVar14 = iVar14 + iVar15;
                }
                piVar28 = piVar28 + 1;
              } while (iVar18 < iVar9);
              iVar21 = iVar21 + 1;
              piVar27 = piVar27 + 1;
            } while (iVar21 < iVar9);
LAB_0001f4c0:
            uVar25 = uVar25 + iVar14;
          }
          iVar24 = iVar24 + 1;
          (*(code *)PTR_bitset_free_0008d794)(piVar11);
        } while (iVar24 < *(int *)puVar2);
        if (uVar23 == uVar25) goto LAB_0001f544;
        if (uVar25 == 0) goto LAB_0001f4fc;
LAB_0001f508:
        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);
        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);
        goto LAB_0001f544;
      }
      if (uVar25 != 0) {
LAB_0001f34c:
        if (uVar25 != 0xffffffff) {
          uVar16 = 0;
          goto LAB_0001f358;
        }
LAB_0001f390:
        iVar9 = *(int *)puVar2;
        goto LAB_0001f394;
      }
LAB_0001f6ac:
      if (uVar23 != 0) {
LAB_0001f4fc:
        if (uVar23 == 0xffffffff) goto LAB_0001f544;
        uVar25 = 0;
        goto LAB_0001f508;
      }
      local_5c = local_5c + 1;
      local_60 = local_60 + 0x60;
    } while (local_5c < *(int *)puVar5);
  }
LAB_0001f568:
  puVar1 = PTR_expected_rr_conflicts_0008d86c;
  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {
    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);
    complain((location *)0x0,Wother,pcVar10);
    *(undefined4 *)puVar1 = 0xffffffff;
  }
  puVar4 = PTR_expected_sr_conflicts_0008d870;
  sVar12 = count_sr_conflicts();
  sVar22 = *(size_t *)puVar4;
  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)) {
    if (sVar12 != 0) {
      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)
                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);
      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);
    }
  }
  else if (sVar22 != sVar12) {
    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);
    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);
  }
  sVar12 = count_rr_conflicts();
  sVar22 = *(size_t *)puVar1;
  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)) {
    if (sVar12 != 0) {
      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)
                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);
      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);
      return;
    }
  }
  else if (sVar12 != sVar22) {
    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);
    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);
    return;
  }
  return;
}



void conflicts_print(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  uint uVar12;
  int iVar13;
  int iVar14;
  uint uVar15;
  int *piVar16;
  int iVar17;
  uint uVar18;
  undefined4 *puVar19;
  int iVar20;
  uint uVar21;
  int iVar22;
  uint uVar23;
  int *piVar24;
  int *piVar25;
  int *piVar26;
  int local_60;
  int local_5c;
  
  puVar5 = PTR_nrules_0008d7c8;
  puVar4 = PTR_rules_0008d784;
  puVar1 = PTR_DAT_0008d618;
  if (0 < *(int *)PTR_nrules_0008d7c8) {
    local_60 = 0;
    local_5c = 0;
    puVar7 = PTR_LAB_0008d628 + 0x1cb0;
    puVar8 = PTR_LAB_0008d628 + 0x1c74;
    do {
      while( true ) {
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        puVar2 = PTR_nstates_0008d698;
        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);
        uVar23 = puVar19[0xf];
        uVar21 = puVar19[0x10];
        if ((uVar23 & uVar21) != 0xffffffff) break;
LAB_0001f544:
        local_5c = local_5c + 1;
        local_60 = local_60 + 0x60;
        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;
      }
      if (0 < *(int *)PTR_nstates_0008d698) {
        iVar22 = 0;
        uVar15 = 0;
        do {
          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {
LAB_0001f1f0:
            iVar9 = *(int *)puVar2;
            iVar22 = iVar22 + 1;
            if (iVar9 <= iVar22) goto LAB_0001f330;
          }
          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);
          piVar25 = *(int **)(iVar9 + 0xc);
          piVar24 = *(int **)(iVar9 + 8);
          iVar9 = *piVar25;
          piVar11 = piVar25 + 2;
          if (iVar9 < 1) goto LAB_0001f1f0;
          iVar13 = 0;
          iVar20 = 0;
          do {
            while (puVar19 != (undefined4 *)*piVar11) {
LAB_0001f25c:
              iVar20 = iVar20 + 1;
              piVar11 = piVar11 + 1;
              if (iVar9 <= iVar20) goto LAB_0001f314;
            }
            iVar17 = *piVar24;
            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);
            if (iVar17 < 1) goto LAB_0001f25c;
            iVar9 = 0;
            piVar16 = piVar24;
            do {
              piVar16 = piVar16 + 1;
              if (*piVar16 != 0) {
                uVar18 = *(uint *)(*piVar16 + 4);
                if (*(int *)puVar3 <= (int)uVar18) break;
                uVar12 = (uVar18 >> 5) - piVar26[1];
                if (uVar12 < (uint)piVar26[2]) {
                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;
                }
                else {
                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);
                  iVar17 = *piVar24;
                }
                iVar13 = iVar13 + uVar18;
              }
              iVar9 = iVar9 + 1;
            } while (iVar9 < iVar17);
            iVar9 = *piVar25;
            iVar20 = iVar20 + 1;
            piVar11 = piVar11 + 1;
          } while (iVar20 < iVar9);
LAB_0001f314:
          iVar9 = *(int *)puVar2;
          iVar22 = iVar22 + 1;
          uVar15 = uVar15 + iVar13;
        } while (iVar22 < iVar9);
LAB_0001f330:
        if (uVar23 != uVar15) {
          if (uVar15 == 0) goto LAB_0001f34c;
LAB_0001f358:
          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);
          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);
          goto LAB_0001f390;
        }
LAB_0001f394:
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        if (iVar9 < 1) goto LAB_0001f6ac;
        uVar23 = 0;
        iVar22 = 0;
        do {
          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);
          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);
          iVar9 = *piVar24;
          if (0 < iVar9) {
            iVar13 = 0;
            iVar20 = 0;
            piVar25 = piVar24 + 2;
            do {
              while (puVar19 != (undefined4 *)*piVar25) {
                iVar20 = iVar20 + 1;
                piVar25 = piVar25 + 1;
                if (iVar9 <= iVar20) goto LAB_0001f4c0;
              }
              iVar17 = 0;
              piVar26 = piVar24 + 2;
              do {
                iVar14 = iVar17 * 4;
                iVar17 = iVar17 + 1;
                if (puVar19 != (undefined4 *)*piVar26) {
                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);
                  (**(code **)(*piVar16 + 0x3c))
                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));
                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);
                  iVar9 = *piVar24;
                  iVar13 = iVar13 + iVar14;
                }
                piVar26 = piVar26 + 1;
              } while (iVar17 < iVar9);
              iVar20 = iVar20 + 1;
              piVar25 = piVar25 + 1;
            } while (iVar20 < iVar9);
LAB_0001f4c0:
            uVar23 = uVar23 + iVar13;
          }
          iVar22 = iVar22 + 1;
          (*(code *)PTR_bitset_free_0008d794)(piVar11);
        } while (iVar22 < *(int *)puVar2);
        if (uVar21 == uVar23) goto LAB_0001f544;
        if (uVar23 == 0) goto LAB_0001f4fc;
LAB_0001f508:
        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);
        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);
        goto LAB_0001f544;
      }
      if (uVar23 != 0) {
LAB_0001f34c:
        if (uVar23 != 0xffffffff) {
          uVar15 = 0;
          goto LAB_0001f358;
        }
LAB_0001f390:
        iVar9 = *(int *)puVar2;
        goto LAB_0001f394;
      }
LAB_0001f6ac:
      if (uVar21 != 0) {
LAB_0001f4fc:
        if (uVar21 == 0xffffffff) goto LAB_0001f544;
        uVar23 = 0;
        goto LAB_0001f508;
      }
      local_5c = local_5c + 1;
      local_60 = local_60 + 0x60;
    } while (local_5c < *(int *)puVar5);
  }
LAB_0001f568:
  puVar1 = PTR_expected_rr_conflicts_0008d86c;
  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);
    complain(0,0x80,uVar10);
    *(undefined4 *)puVar1 = 0xffffffff;
  }
  puVar4 = PTR_expected_sr_conflicts_0008d870;
  iVar22 = FUN_0001d730();
  iVar9 = *(int *)puVar4;
  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {
    if (iVar22 != 0) {
      uVar10 = (*(code *)PTR_dcngettext_0008de3c)
                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);
      complain(0,4,uVar10,iVar22);
    }
  }
  else if (iVar9 != iVar22) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);
    complain(0,0x800,uVar10,iVar22,iVar9);
  }
  iVar22 = FUN_0001d978();
  iVar9 = *(int *)puVar1;
  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {
    if (iVar22 != 0) {
      uVar10 = (*(code *)PTR_dcngettext_0008de3c)
                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);
      complain(0,8,uVar10,iVar22);
      return;
    }
  }
  else if (iVar22 != iVar9) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);
    complain(0,0x800,uVar10,iVar22,iVar9);
    return;
  }
  return;
}


lui gp,0x7
addiu gp,gp,0x64d0
addu gp,gp,t9
addiu sp,sp,-0x80
sw s6,0x70(sp)
lw s6,-0x7e28(gp)
sw gp,0x18(sp)
sw ra,0x7c(sp)
sw s8,0x78(sp)
sw s7,0x74(sp)
sw s5,0x6c(sp)
sw s4,0x68(sp)
sw s3,0x64(sp)
sw s2,0x60(sp)
sw s1,0x5c(sp)
sw s0,0x58(sp)
lw v0,0x0(s6)
blez v0,0x0001f564
_lw v0,-0x7e6c(gp)
sw zero,0x20(sp)
sw zero,0x24(sp)
sw v0,0x48(sp)
lw v0,-0x7fd8(gp)
sw v0,0x54(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x1cb0
sw v0,0x4c(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x1c74
sw v0,0x50(sp)
lw v0,0x48(sp)
lw v1,0x20(sp)
lw s0,0x0(v0)
li v0,-0x1
addu s0,s0,v1
lw s5,0x3c(s0)
lw s3,0x40(s0)
and a0,s5,s3
beq a0,v0,0x0001f540
_nop
lw s2,-0x7f58(gp)
lw v0,0x0(s2)
blez v0,0x0001f6a4
_or s1,zero,zero
lw t5,-0x7df8(gp)
lw t4,-0x7e74(gp)
or s4,zero,zero
or t1,s0,zero
or t2,s5,zero
or t3,s3,zero
b 0x0001f204
_or t0,s1,zero
lw v0,0x0(s2)
addiu s4,s4,0x1
slt v1,s4,v0
beq v1,zero,0x0001f330
_or s0,t1,zero
lw v0,0x54(sp)
lw v0,-0x1ea0(v0)
addu v0,v0,s4
lb v0,0x0(v0)
beq v0,zero,0x0001f1f0
_sll v1,s4,0x2
lw v0,0x0(t5)
addu v0,v0,v1
lw v0,0x0(v0)
lw s7,0xc(v0)
lw s5,0x8(v0)
lw v0,0x0(s7)
blez v0,0x0001f1f0
_addiu s3,s7,0x8
or s1,zero,zero
or a3,s4,zero
or a2,s1,zero
or s0,zero,zero
or s1,s7,zero
or s4,s3,zero
b 0x0001f26c
_or s7,s5,zero
addiu s0,s0,0x1
slt v1,s0,v0
beq v1,zero,0x0001f314
_addiu s4,s4,0x4
lw v1,0x0(s4)
bne t1,v1,0x0001f25c
_sll v1,s0,0x2
lw a0,0x4(s1)
lw t6,0x0(s7)
addu v1,a0,v1
blez t6,0x0001f25c
_lw s8,0x0(v1)
addiu s5,s7,0x4
or s3,zero,zero
lw v0,0x0(s5)
beq v0,zero,0x0001f2f0
_nop
lw t7,0x4(v0)
or a0,s8,zero
lw v0,0x0(t4)
srl v1,t7,0x5
slt v0,t7,v0
beq v0,zero,0x0001f300
_or a1,t7,zero
lw t8,0x4(s8)
lw v0,0x8(s8)
subu v1,v1,t8
sll t8,v1,0x2
sltu v1,v1,v0
beq v1,zero,0x0001f648
_nop
lw v0,0xc(s8)
addu v0,v0,t8
lw v0,0x0(v0)
srlv v0,v0,t7
andi v0,v0,0x1
addu a2,a2,v0
addiu s3,s3,0x1
slt v0,s3,t6
bne v0,zero,0x0001f294
_addiu s5,s5,0x4
lw v0,0x0(s1)
addiu s0,s0,0x1
slt v1,s0,v0
bne v1,zero,0x0001f26c
_addiu s4,s4,0x4
or s4,a3,zero
lw v0,0x0(s2)
addiu s4,s4,0x1
slt v1,s4,v0
bne v1,zero,0x0001f204
_addu t0,t0,a2
or s0,t1,zero
or s5,t2,zero
or s3,t3,zero
beq t2,t0,0x0001f394
_or s1,t0,zero
bne t0,zero,0x0001f358
_lw t9,-0x7680(gp)
li v0,-0x1
beq s5,v0,0x0001f390
_lw t9,-0x7680(gp)
or s1,zero,zero
li a2,0x5
lw a1,0x50(sp)
jalr t9
_or a0,zero,zero
li a1,0x800
lw gp,0x18(sp)
addiu a0,s0,0x20
lw a3,0x0(s0)
or a2,v0,zero
sw s5,0x14(sp)
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_sw s1,0x10(sp)
lw gp,0x18(sp)
lw v0,0x0(s2)
blez v0,0x0001f6ac
_lw v0,-0x7e74(gp)
or s1,zero,zero
lw s8,-0x7df8(gp)
or s4,zero,zero
sw s3,0x2c(sp)
sw v0,0x28(sp)
lw v1,0x0(s8)
sll v0,s4,0x2
lw a0,0x28(sp)
li a1,0x1
lw t9,-0x7e64(gp)
addu v0,v1,v0
lw a0,0x0(a0)
lw v0,0x0(v0)
jalr t9
_lw s3,0xc(v0)
lw gp,0x18(sp)
lw a1,0x0(s3)
blez a1,0x0001f4c4
_or s5,v0,zero
addiu t3,s3,0x8
or t0,zero,zero
or s7,zero,zero
b 0x0001f40c
_or t1,t3,zero
addiu s7,s7,0x1
slt v0,s7,a1
beq v0,zero,0x0001f4c0
_addiu t1,t1,0x4
lw v0,0x0(t1)
bne s0,v0,0x0001f3fc
_sll t5,s7,0x2
or a3,zero,zero
or t2,t3,zero
lw v0,0x0(t2)
sll a2,a3,0x2
or a0,s5,zero
beq s0,v0,0x0001f4a4
_addiu a3,a3,0x1
lw v0,0x4(s3)
sw t2,0x44(sp)
sw t1,0x40(sp)
addu a1,v0,t5
sw t3,0x3c(sp)
addu v0,v0,a2
sw t0,0x38(sp)
sw a3,0x34(sp)
lw t4,0x0(a1)
lw a2,0x0(v0)
sw t5,0x30(sp)
lw v0,0x0(t4)
lw t9,0x3c(v0)
jalr t9
_or a1,t4,zero
lw v0,0x0(s5)
lw t9,0x18(v0)
jalr t9
_or a0,s5,zero
lw t0,0x38(sp)
lw gp,0x18(sp)
lw a1,0x0(s3)
lw t2,0x44(sp)
addu t0,t0,v0
lw t1,0x40(sp)
lw t3,0x3c(sp)
lw a3,0x34(sp)
lw t5,0x30(sp)
slt v0,a3,a1
bne v0,zero,0x0001f420
_addiu t2,t2,0x4
addiu s7,s7,0x1
slt v0,s7,a1
bne v0,zero,0x0001f40c
_addiu t1,t1,0x4
addu s1,s1,t0
lw t9,-0x7e5c(gp)
or a0,s5,zero
jalr t9
_addiu s4,s4,0x1
lw v0,0x0(s2)
slt v0,s4,v0
bne v0,zero,0x0001f3b0
_lw gp,0x18(sp)
lw s3,0x2c(sp)
beq s3,s1,0x0001f544
_lw v1,0x24(sp)
bne s1,zero,0x0001f508
_lw t9,-0x7680(gp)
li v0,-0x1
beq s3,v0,0x0001f540
_lw t9,-0x7680(gp)
or s1,zero,zero
li a2,0x5
lw a1,0x4c(sp)
jalr t9
_or a0,zero,zero
li a1,0x800
lw gp,0x18(sp)
addiu a0,s0,0x20
lw a3,0x0(s0)
or a2,v0,zero
sw s3,0x14(sp)
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_sw s1,0x10(sp)
lw gp,0x18(sp)
lw v1,0x24(sp)
lw a0,0x20(sp)
lw v0,0x0(s6)
addiu v1,v1,0x1
addiu a0,a0,0x60
slt v0,v1,v0
sw v1,0x24(sp)
bne v0,zero,0x0001f198
_sw a0,0x20(sp)
lw v0,-0x7d88(gp)
lbu v0,0x0(v0)
bne v0,zero,0x0001f5bc
_lw s1,-0x7d84(gp)
lw v0,0x0(s1)
li s0,-0x1
beq v0,s0,0x0001f5c0
_lw t9,-0x7e7c(gp)
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7680(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x1cec
li a1,0x80
lw gp,0x18(sp)
or a0,zero,zero
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_or a2,v0,zero
lw gp,0x18(sp)
sw s0,0x0(s1)
lw t9,-0x7e7c(gp)
lw s2,-0x7d80(gp)
addiu t9,t9,-0x28d0
bal 0x0001d730
_nop
li v1,-0x1
lw s0,0x0(s2)
or s3,v0,zero
beq s0,v1,0x0001f794
_lw gp,0x18(sp)
bne s0,s3,0x0001f744
_lw a1,-0x7fc8(gp)
lw t9,-0x7e7c(gp)
addiu t9,t9,-0x2688
bal 0x0001d978
_nop
li v1,-0x1
lw s0,0x0(s1)
or s1,v0,zero
beq s0,v1,0x0001f780
_lw gp,0x18(sp)
bne s1,s0,0x0001f6e0
_lw a1,-0x7fc8(gp)
lw ra,0x7c(sp)
lw s8,0x78(sp)
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
lw v0,0x0(s8)
sw a2,0x44(sp)
sw t0,0x40(sp)
sw a3,0x3c(sp)
sw t3,0x38(sp)
sw t2,0x34(sp)
sw t1,0x30(sp)
sw t4,0x2c(sp)
sw t5,0x28(sp)
lw t9,0xc(v0)
jalr t9
_nop
lw gp,0x18(sp)
lw t6,0x0(s7)
lw a2,0x44(sp)
lw t0,0x40(sp)
lw a3,0x3c(sp)
lw t3,0x38(sp)
lw t2,0x34(sp)
lw t1,0x30(sp)
lw t4,0x2c(sp)
b 0x0001f2ec
_lw t5,0x28(sp)
bne s5,zero,0x0001f34c
_li v0,-0x1
bne s3,zero,0x0001f4fc
_li v0,-0x1
lw v1,0x24(sp)
lw a0,0x20(sp)
lw v0,0x0(s6)
addiu v1,v1,0x1
addiu a0,a0,0x60
slt v0,v1,v0
sw v1,0x24(sp)
bne v0,zero,0x0001f198
_sw a0,0x20(sp)
b 0x0001f568
_lw v0,-0x7d88(gp)
li a2,0x5
lw t9,-0x7680(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x1d7c
li a1,0x800
lw gp,0x18(sp)
or a0,zero,zero
sw s0,0x10(sp)
or a3,s1,zero
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_or a2,v0,zero
lw ra,0x7c(sp)
lw s8,0x78(sp)
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
li a2,0x5
lw t9,-0x7680(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x1d14
li a1,0x800
lw gp,0x18(sp)
or a0,zero,zero
sw s0,0x10(sp)
or a3,s3,zero
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_or a2,v0,zero
b 0x0001f5ec
_lw gp,0x18(sp)
lw v0,0x0(s2)
beq v0,s0,0x0001f7a8
_or s0,zero,zero
b 0x0001f610
_nop
lw v0,0x0(s1)
beq v0,s0,0x0001f820
_or s0,zero,zero
b 0x0001f5e4
_nop
beq s1,zero,0x0001f61c
_lw ra,0x7c(sp)
lw a2,-0x7fc8(gp)
li v0,0x5
lw a1,-0x7fc8(gp)
or a0,zero,zero
lw t9,-0x77b4(gp)
or a3,s1,zero
addiu a2,a2,0x1dac
sw v0,0x10(sp)
jalr t9
_addiu a1,a1,0x1dc8
or a3,s1,zero
lw gp,0x18(sp)
li a1,0x8
lw ra,0x7c(sp)
or a0,zero,zero
lw s8,0x78(sp)
or a2,v0,zero
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
lw t9,-0x7ebc(gp)
b 0x0001cda8
_addiu sp,sp,0x80
beq s3,zero,0x0001f5f0
_lw t9,-0x7e7c(gp)
lw a2,-0x7fc8(gp)
li v0,0x5
lw a1,-0x7fc8(gp)
or a0,zero,zero
lw t9,-0x77b4(gp)
or a3,s3,zero
addiu a2,a2,0x1d44
sw v0,0x10(sp)
jalr t9
_addiu a1,a1,0x1d60
li a1,0x4
lw gp,0x18(sp)
or a0,zero,zero
or a3,s3,zero
lw t9,-0x7ebc(gp)
bal 0x0001cda8
_or a2,v0,zero
b 0x0001f5ec
_lw gp,0x18(sp)
(translation_unit "void conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\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 "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR_nrules_0008d7c8;" (assignment_expression "puVar5 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_rules_0008d784;" (assignment_expression "puVar4 = PTR_rules_0008d784" identifier = identifier) ;) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" identifier = identifier) ;) (if_statement "if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" if (parenthesized_expression "(0 < *(int *)PTR_nrules_0008d7c8)" ( (binary_expression "0 < *(int *)PTR_nrules_0008d7c8" number_literal < (pointer_expression "*(int *)PTR_nrules_0008d7c8" * (cast_expression "(int *)PTR_nrules_0008d7c8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_LAB_0008d628 + 0x1cb0;" (assignment_expression "puVar7 = PTR_LAB_0008d628 + 0x1cb0" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1cb0" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_LAB_0008d628 + 0x1c74;" (assignment_expression "puVar8 = PTR_LAB_0008d628 + 0x1c74" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1c74" identifier + number_literal)) ;) (do_statement "do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    }" { (while_statement "while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" { (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_nstates_0008d698;" (assignment_expression "puVar2 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);" (assignment_expression "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60)" identifier = (cast_expression "(undefined4 *)(*(int *)puVar4 + local_60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + local_60)" ( (binary_expression "*(int *)puVar4 + local_60" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) ;) (expression_statement "uVar23 = puVar19[0xf];" (assignment_expression "uVar23 = puVar19[0xf]" identifier = (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar21 = puVar19[0x10];" (assignment_expression "uVar21 = puVar19[0x10]" identifier = (subscript_expression "puVar19[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((uVar23 & uVar21) != 0xffffffff) break;" if (parenthesized_expression "((uVar23 & uVar21) != 0xffffffff)" ( (binary_expression "(uVar23 & uVar21) != 0xffffffff" (parenthesized_expression "(uVar23 & uVar21)" ( (binary_expression "uVar23 & uVar21" identifier & identifier) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001f544:\n        local_5c = local_5c + 1;" statement_identifier : (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;)) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) (if_statement "if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;" if (parenthesized_expression "(*(int *)puVar5 <= local_5c)" ( (binary_expression "*(int *)puVar5 <= local_5c" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= identifier) )) (goto_statement "goto LAB_0001f568;" goto statement_identifier ;)) })) (if_statement "if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" if (parenthesized_expression "(0 < *(int *)PTR_nstates_0008d698)" ( (binary_expression "0 < *(int *)PTR_nstates_0008d698" number_literal < (pointer_expression "*(int *)PTR_nstates_0008d698" * (cast_expression "(int *)PTR_nstates_0008d698" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" { (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);" do (compound_statement "{\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        }" { (while_statement "while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" while (parenthesized_expression "(*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" * (cast_expression "(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar1 + -0x1ea0) + iVar22)" ( (binary_expression "*(int *)(puVar1 + -0x1ea0) + iVar22" (pointer_expression "*(int *)(puVar1 + -0x1ea0)" * (cast_expression "(int *)(puVar1 + -0x1ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1ea0)" ( (binary_expression "puVar1 + -0x1ea0" identifier + number_literal) )))) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" { (labeled_statement "LAB_0001f1f0:\n            iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar22) goto LAB_0001f330;" if (parenthesized_expression "(iVar9 <= iVar22)" ( (binary_expression "iVar9 <= iVar22" identifier <= identifier) )) (goto_statement "goto LAB_0001f330;" goto statement_identifier ;)) })) (expression_statement "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4)" identifier = (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" ( (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "piVar25 = *(int **)(iVar9 + 0xc);" (assignment_expression "piVar25 = *(int **)(iVar9 + 0xc)" identifier = (pointer_expression "*(int **)(iVar9 + 0xc)" * (cast_expression "(int **)(iVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar24 = *(int **)(iVar9 + 8);" (assignment_expression "piVar24 = *(int **)(iVar9 + 8)" identifier = (pointer_expression "*(int **)(iVar9 + 8)" * (cast_expression "(int **)(iVar9 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "piVar11 = piVar25 + 2;" (assignment_expression "piVar11 = piVar25 + 2" identifier = (binary_expression "piVar25 + 2" identifier + number_literal)) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f1f0;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f1f0;" goto statement_identifier ;)) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);" do (compound_statement "{\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          }" { (while_statement "while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" while (parenthesized_expression "(puVar19 != (undefined4 *)*piVar11)" ( (binary_expression "puVar19 != (undefined4 *)*piVar11" identifier != (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) )) (compound_statement "{\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" { (labeled_statement "LAB_0001f25c:\n              iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f314;" if (parenthesized_expression "(iVar9 <= iVar20)" ( (binary_expression "iVar9 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0001f314;" goto statement_identifier ;)) })) (expression_statement "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "piVar26 = *(int **)(piVar25[1] + iVar20 * 4);" (assignment_expression "piVar26 = *(int **)(piVar25[1] + iVar20 * 4)" identifier = (pointer_expression "*(int **)(piVar25[1] + iVar20 * 4)" * (cast_expression "(int **)(piVar25[1] + iVar20 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar25[1] + iVar20 * 4)" ( (binary_expression "piVar25[1] + iVar20 * 4" (subscript_expression "piVar25[1]" identifier [ number_literal ]) + (binary_expression "iVar20 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar17 < 1) goto LAB_0001f25c;" if (parenthesized_expression "(iVar17 < 1)" ( (binary_expression "iVar17 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f25c;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = piVar24;" (assignment_expression "piVar16 = piVar24" identifier = identifier) ;) (do_statement "do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);" do (compound_statement "{\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            }" { (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (if_statement "if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" if (parenthesized_expression "(*piVar16 != 0)" ( (binary_expression "*piVar16 != 0" (pointer_expression "*piVar16" * identifier) != number_literal) )) (compound_statement "{\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" { (expression_statement "uVar18 = *(uint *)(*piVar16 + 4);" (assignment_expression "uVar18 = *(uint *)(*piVar16 + 4)" identifier = (pointer_expression "*(uint *)(*piVar16 + 4)" * (cast_expression "(uint *)(*piVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + 4)" ( (binary_expression "*piVar16 + 4" (pointer_expression "*piVar16" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)puVar3 <= (int)uVar18) break;" if (parenthesized_expression "(*(int *)puVar3 <= (int)uVar18)" ( (binary_expression "*(int *)puVar3 <= (int)uVar18" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar12 = (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 (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" if (parenthesized_expression "(uVar12 < (uint)piVar26[2])" ( (binary_expression "uVar12 < (uint)piVar26[2]" identifier < (cast_expression "(uint)piVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar26[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }" { (expression_statement "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar26[3] + uVar12 * 4)" * (cast_expression "(uint *)(piVar26[3] + uVar12 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[3] + uVar12 * 4)" ( (binary_expression "piVar26[3] + uVar12 * 4" (subscript_expression "piVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" else (compound_statement "{\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" { (expression_statement "uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar18 = (**(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 "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) }))) (expression_statement "iVar13 = iVar13 + uVar18;" (assignment_expression "iVar13 = iVar13 + uVar18" identifier = (binary_expression "iVar13 + uVar18" identifier + identifier)) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 < iVar17)" ( (binary_expression "iVar9 < iVar17" identifier < identifier) )) ;) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < iVar9)" ( (binary_expression "iVar20 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f314:\n          iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar15 = uVar15 + iVar13;" (assignment_expression "uVar15 = uVar15 + iVar13" identifier = (binary_expression "uVar15 + iVar13" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar22 < iVar9)" ( (binary_expression "iVar22 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" statement_identifier : (if_statement "if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" if (parenthesized_expression "(uVar23 != uVar15)" ( (binary_expression "uVar23 != uVar15" identifier != identifier) )) (compound_statement "{\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" { (if_statement "if (uVar15 == 0) goto LAB_0001f34c;" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f34c;" goto statement_identifier ;)) (labeled_statement "LAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar8,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,puVar8,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" identifier (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" ( (binary_expression "puVar19 + 8" identifier + number_literal) , number_literal , identifier , (pointer_expression "*puVar19" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f390;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;" statement_identifier : (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f6ac;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f6ac;" goto statement_identifier ;)) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);" do (compound_statement "{\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        }" { (expression_statement "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);" (assignment_expression "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" * (cast_expression "(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" ( (binary_expression "*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc" (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" ( (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" identifier = (cast_expression "(int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (parenthesized_expression "(*(code *)PTR_bitset_create_0008d78c)" ( (pointer_expression "*(code *)PTR_bitset_create_0008d78c" * (cast_expression "(code *)PTR_bitset_create_0008d78c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar3,1)" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))))) ;) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = piVar24 + 2;" (assignment_expression "piVar25 = piVar24 + 2" identifier = (binary_expression "piVar24 + 2" identifier + number_literal)) ;) (do_statement "do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);" do (compound_statement "{\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            }" { (while_statement "while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" while (parenthesized_expression "(puVar19 != (undefined4 *)*piVar25)" ( (binary_expression "puVar19 != (undefined4 *)*piVar25" identifier != (cast_expression "(undefined4 *)*piVar25" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) )) (compound_statement "{\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" identifier = (binary_expression "piVar25 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f4c0;" if (parenthesized_expression "(iVar9 <= iVar20)" ( (binary_expression "iVar9 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0001f4c0;" goto statement_identifier ;)) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "piVar26 = piVar24 + 2;" (assignment_expression "piVar26 = piVar24 + 2" identifier = (binary_expression "piVar24 + 2" identifier + number_literal)) ;) (do_statement "do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);" do (compound_statement "{\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              }" { (expression_statement "iVar14 = iVar17 * 4;" (assignment_expression "iVar14 = iVar17 * 4" identifier = (binary_expression "iVar17 * 4" identifier * number_literal)) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (if_statement "if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" if (parenthesized_expression "(puVar19 != (undefined4 *)*piVar26)" ( (binary_expression "puVar19 != (undefined4 *)*piVar26" identifier != (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" { (expression_statement "piVar16 = *(int **)(piVar24[1] + iVar20 * 4);" (assignment_expression "piVar16 = *(int **)(piVar24[1] + iVar20 * 4)" identifier = (pointer_expression "*(int **)(piVar24[1] + iVar20 * 4)" * (cast_expression "(int **)(piVar24[1] + iVar20 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar24[1] + iVar20 * 4)" ( (binary_expression "piVar24[1] + iVar20 * 4" (subscript_expression "piVar24[1]" identifier [ number_literal ]) + (binary_expression "iVar20 * 4" identifier * number_literal)) ))))) ;) (expression_statement "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));" (call_expression "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" (parenthesized_expression "(**(code **)(*piVar16 + 0x3c))" ( (pointer_expression "**(code **)(*piVar16 + 0x3c)" * (pointer_expression "*(code **)(*piVar16 + 0x3c)" * (cast_expression "(code **)(*piVar16 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar16 + 0x3c)" ( (binary_expression "*piVar16 + 0x3c" (pointer_expression "*piVar16" * identifier) + number_literal) ))))) )) (argument_list "(piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(piVar24[1] + iVar14)" * (cast_expression "(undefined4 *)(piVar24[1] + iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[1] + iVar14)" ( (binary_expression "piVar24[1] + iVar14" (subscript_expression "piVar24[1]" identifier [ number_literal ]) + identifier) )))) ))) ;) (expression_statement "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);" (assignment_expression "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11)" identifier = (call_expression "(**(code **)(*piVar11 + 0x18))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0x18))" ( (pointer_expression "**(code **)(*piVar11 + 0x18)" * (pointer_expression "*(code **)(*piVar11 + 0x18)" * (cast_expression "(code **)(*piVar11 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x18)" ( (binary_expression "*piVar11 + 0x18" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "iVar13 = iVar13 + iVar14;" (assignment_expression "iVar13 = iVar13 + iVar14" identifier = (binary_expression "iVar13 + iVar14" identifier + identifier)) ;) })) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar9)" ( (binary_expression "iVar17 < iVar9" identifier < identifier) )) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" identifier = (binary_expression "piVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < iVar9)" ( (binary_expression "iVar20 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;" statement_identifier : (expression_statement "uVar23 = uVar23 + iVar13;" (assignment_expression "uVar23 = uVar23 + iVar13" identifier = (binary_expression "uVar23 + iVar13" identifier + identifier)) ;)) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_bitset_free_0008d794)(piVar11);" (call_expression "(*(code *)PTR_bitset_free_0008d794)(piVar11)" (parenthesized_expression "(*(code *)PTR_bitset_free_0008d794)" ( (pointer_expression "*(code *)PTR_bitset_free_0008d794" * (cast_expression "(code *)PTR_bitset_free_0008d794" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }) while (parenthesized_expression "(iVar22 < *(int *)puVar2)" ( (binary_expression "iVar22 < *(int *)puVar2" identifier < (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (if_statement "if (uVar21 == uVar23) goto LAB_0001f544;" if (parenthesized_expression "(uVar21 == uVar23)" ( (binary_expression "uVar21 == uVar23" identifier == identifier) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;)) (if_statement "if (uVar23 == 0) goto LAB_0001f4fc;" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f4fc;" goto statement_identifier ;)) (labeled_statement "LAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar7,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,puVar7,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" identifier (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" ( (binary_expression "puVar19 + 8" identifier + number_literal) , number_literal , identifier , (pointer_expression "*puVar19" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;) })) (if_statement "if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" { (labeled_statement "LAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" statement_identifier : (if_statement "if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" if (parenthesized_expression "(uVar23 != 0xffffffff)" ( (binary_expression "uVar23 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f358;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f390:\n        iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto LAB_0001f394;" goto statement_identifier ;) })) (labeled_statement "LAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" statement_identifier : (if_statement "if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" { (labeled_statement "LAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;" statement_identifier : (if_statement "if (uVar21 == 0xffffffff) goto LAB_0001f544;" if (parenthesized_expression "(uVar21 == 0xffffffff)" ( (binary_expression "uVar21 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f508;" goto statement_identifier ;) }))) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_5c < *(int *)puVar5)" ( (binary_expression "local_5c < *(int *)puVar5" identifier < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;" statement_identifier : (expression_statement "puVar1 = PTR_expected_rr_conflicts_0008d86c;" (assignment_expression "puVar1 = PTR_expected_rr_conflicts_0008d86c" identifier = identifier) ;)) (if_statement "if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" if (parenthesized_expression "((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1))" ( (binary_expression "(*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" (parenthesized_expression "(*PTR_glr_parser_0008d868 == '\0')" ( (binary_expression "*PTR_glr_parser_0008d868 == '\0'" (pointer_expression "*PTR_glr_parser_0008d868" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" ( (binary_expression "*(int *)PTR_expected_rr_conflicts_0008d86c != -1" (pointer_expression "*(int *)PTR_expected_rr_conflicts_0008d86c" * (cast_expression "(int *)PTR_expected_rr_conflicts_0008d86c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,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 + 0x1cec,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1cec" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x80,uVar10);" (call_expression "complain(0,0x80,uVar10)" identifier (argument_list "(0,0x80,uVar10)" ( number_literal , number_literal , identifier ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0xffffffff;" (assignment_expression "*(undefined4 *)puVar1 = 0xffffffff" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "puVar4 = PTR_expected_sr_conflicts_0008d870;" (assignment_expression "puVar4 = PTR_expected_sr_conflicts_0008d870" identifier = identifier) ;) (expression_statement "iVar22 = FUN_0001d730();" (assignment_expression "iVar22 = FUN_0001d730()" identifier = (call_expression "FUN_0001d730()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" if (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1))" ( (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = 0, *(int *)puVar1 == -1)" ( (comma_expression "iVar9 = 0, *(int *)puVar1 == -1" (assignment_expression "iVar9 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar1 == -1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }" { (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" { (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" identifier = (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d60" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1d44" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "complain(0,4,uVar10,iVar22);" (call_expression "complain(0,4,uVar10,iVar22)" identifier (argument_list "(0,4,uVar10,iVar22)" ( number_literal , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" else (if_statement "if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" if (parenthesized_expression "(iVar9 != iVar22)" ( (binary_expression "iVar9 != iVar22" identifier != identifier) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,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 + 0x1d14,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d14" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" identifier (argument_list "(0,0x800,uVar10,iVar22,iVar9)" ( number_literal , number_literal , identifier , identifier , identifier ))) ;) })))) (expression_statement "iVar22 = FUN_0001d978();" (assignment_expression "iVar22 = FUN_0001d978()" identifier = (call_expression "FUN_0001d978()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)puVar1;" (assignment_expression "iVar9 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" if (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1))" ( (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = 0, *(int *)puVar4 == -1)" ( (comma_expression "iVar9 = 0, *(int *)puVar4 == -1" (assignment_expression "iVar9 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar4 == -1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }" { (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" { (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" identifier = (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1dc8" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1dac" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "complain(0,8,uVar10,iVar22);" (call_expression "complain(0,8,uVar10,iVar22)" identifier (argument_list "(0,8,uVar10,iVar22)" ( number_literal , number_literal , identifier , identifier ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" else (if_statement "if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" if (parenthesized_expression "(iVar22 != iVar9)" ( (binary_expression "iVar22 != iVar9" identifier != identifier) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,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 + 0x1d7c,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d7c" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" identifier (argument_list "(0,0x800,uVar10,iVar22,iVar9)" ( number_literal , number_literal , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid conflicts_print(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  int iVar9;\n  char *pcVar10;\n  int *piVar11;\n  size_t sVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int iVar21;\n  size_t sVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  int *piVar26;\n  int *piVar27;\n  int *piVar28;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain((location *)0x0,Wother,pcVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  sVar12 = count_sr_conflicts();\n  sVar22 = *(size_t *)puVar4;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }\n  }\n  else if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }\n  sVar12 = count_rr_conflicts();\n  sVar22 = *(size_t *)puVar1;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }\n  }\n  else if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }\n  return;\n}\n\n" comment (function_definition "void conflicts_print(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  int iVar9;\n  char *pcVar10;\n  int *piVar11;\n  size_t sVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int iVar21;\n  size_t sVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  int *piVar26;\n  int *piVar27;\n  int *piVar28;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain((location *)0x0,Wother,pcVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  sVar12 = count_sr_conflicts();\n  sVar22 = *(size_t *)puVar4;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }\n  }\n  else if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }\n  sVar12 = count_rr_conflicts();\n  sVar22 = *(size_t *)puVar1;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }\n  }\n  else if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "conflicts_print(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  int iVar9;\n  char *pcVar10;\n  int *piVar11;\n  size_t sVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  int iVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int iVar21;\n  size_t sVar22;\n  uint uVar23;\n  int iVar24;\n  uint uVar25;\n  int *piVar26;\n  int *piVar27;\n  int *piVar28;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_saved_sigactions_28__sa_resv_0__0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain((location *)0x0,Wother,pcVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  sVar12 = count_sr_conflicts();\n  sVar22 = *(size_t *)puVar4;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }\n  }\n  else if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }\n  sVar12 = count_rr_conflicts();\n  sVar22 = *(size_t *)puVar1;\n  if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }\n  }\n  else if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }\n  return;\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 "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "size_t sVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "int *piVar28;" primitive_type (pointer_declarator "*piVar28" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR_nrules_0008d7c8;" (assignment_expression "puVar5 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_rules_0008d784;" (assignment_expression "puVar4 = PTR_rules_0008d784" 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) ;) (if_statement "if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" if (parenthesized_expression "(0 < *(int *)PTR_nrules_0008d7c8)" ( (binary_expression "0 < *(int *)PTR_nrules_0008d7c8" number_literal < (pointer_expression "*(int *)PTR_nrules_0008d7c8" * (cast_expression "(int *)PTR_nrules_0008d7c8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_LAB_0008d628 + 0x1cb0;" (assignment_expression "puVar7 = PTR_LAB_0008d628 + 0x1cb0" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1cb0" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_LAB_0008d628 + 0x1c74;" (assignment_expression "puVar8 = PTR_LAB_0008d628 + 0x1c74" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1c74" identifier + number_literal)) ;) (do_statement "do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }\n      if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    }" { (while_statement "while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar25 = puVar20[0xf];\n        uVar23 = puVar20[0x10];\n        if ((uVar25 & uVar23) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" { (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_nstates_0008d698;" (assignment_expression "puVar2 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar20 = (undefined4 *)(*(int *)puVar4 + local_60);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)puVar4 + local_60)" identifier = (cast_expression "(undefined4 *)(*(int *)puVar4 + local_60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + local_60)" ( (binary_expression "*(int *)puVar4 + local_60" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) ;) (expression_statement "uVar25 = puVar20[0xf];" (assignment_expression "uVar25 = puVar20[0xf]" identifier = (subscript_expression "puVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar20[0x10];" (assignment_expression "uVar23 = puVar20[0x10]" identifier = (subscript_expression "puVar20[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((uVar25 & uVar23) != 0xffffffff) break;" if (parenthesized_expression "((uVar25 & uVar23) != 0xffffffff)" ( (binary_expression "(uVar25 & uVar23) != 0xffffffff" (parenthesized_expression "(uVar25 & uVar23)" ( (binary_expression "uVar25 & uVar23" identifier & identifier) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001f544:\n        local_5c = local_5c + 1;" statement_identifier : (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;)) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) (if_statement "if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;" if (parenthesized_expression "(*(int *)puVar5 <= local_5c)" ( (binary_expression "*(int *)puVar5 <= local_5c" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= identifier) )) (goto_statement "goto LAB_0001f568;" goto statement_identifier ;)) })) (if_statement "if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }" if (parenthesized_expression "(0 < *(int *)PTR_nstates_0008d698)" ( (binary_expression "0 < *(int *)PTR_nstates_0008d698" number_literal < (pointer_expression "*(int *)PTR_nstates_0008d698" * (cast_expression "(int *)PTR_nstates_0008d698" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        iVar24 = 0;\n        uVar16 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);\nLAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar25 = 0;\n        iVar24 = 0;\n        do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);\n        if (uVar23 == uVar25) goto LAB_0001f544;\n        if (uVar25 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);\n        goto LAB_0001f544;\n      }" { (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        } while (iVar24 < iVar9);" do (compound_statement "{\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);\n          piVar27 = *(int **)(iVar9 + 0xc);\n          piVar26 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar27;\n          piVar11 = piVar27 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar14 = 0;\n          iVar21 = 0;\n          do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar24 = iVar24 + 1;\n          uVar16 = uVar16 + iVar14;\n        }" { (while_statement "while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }" while (parenthesized_expression "(*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24)" * (cast_expression "(char *)(*(int *)(puVar1 + -0x1ea0) + iVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar1 + -0x1ea0) + iVar24)" ( (binary_expression "*(int *)(puVar1 + -0x1ea0) + iVar24" (pointer_expression "*(int *)(puVar1 + -0x1ea0)" * (cast_expression "(int *)(puVar1 + -0x1ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1ea0)" ( (binary_expression "puVar1 + -0x1ea0" identifier + number_literal) )))) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar24 = iVar24 + 1;\n            if (iVar9 <= iVar24) goto LAB_0001f330;\n          }" { (labeled_statement "LAB_0001f1f0:\n            iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar24) goto LAB_0001f330;" if (parenthesized_expression "(iVar9 <= iVar24)" ( (binary_expression "iVar9 <= iVar24" identifier <= identifier) )) (goto_statement "goto LAB_0001f330;" goto statement_identifier ;)) })) (expression_statement "iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)puVar6 + iVar24 * 4)" identifier = (pointer_expression "*(int *)(*(int *)puVar6 + iVar24 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar24 * 4)" ( (binary_expression "*(int *)puVar6 + iVar24 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar24 * 4" identifier * number_literal)) ))))) ;) (expression_statement "piVar27 = *(int **)(iVar9 + 0xc);" (assignment_expression "piVar27 = *(int **)(iVar9 + 0xc)" identifier = (pointer_expression "*(int **)(iVar9 + 0xc)" * (cast_expression "(int **)(iVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = *(int **)(iVar9 + 8);" (assignment_expression "piVar26 = *(int **)(iVar9 + 8)" identifier = (pointer_expression "*(int **)(iVar9 + 8)" * (cast_expression "(int **)(iVar9 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar27;" (assignment_expression "iVar9 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "piVar11 = piVar27 + 2;" (assignment_expression "piVar11 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f1f0;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f1f0;" goto statement_identifier ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar21 < iVar9);" do (compound_statement "{\n            while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }\n            iVar18 = *piVar26;\n            piVar28 = *(int **)(piVar27[1] + iVar21 * 4);\n            if (iVar18 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar17 = piVar26;\n            do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);\n            iVar9 = *piVar27;\n            iVar21 = iVar21 + 1;\n            piVar11 = piVar11 + 1;\n          }" { (while_statement "while (puVar20 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }" while (parenthesized_expression "(puVar20 != (undefined4 *)*piVar11)" ( (binary_expression "puVar20 != (undefined4 *)*piVar11" identifier != (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) )) (compound_statement "{\nLAB_0001f25c:\n              iVar21 = iVar21 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar21) goto LAB_0001f314;\n            }" { (labeled_statement "LAB_0001f25c:\n              iVar21 = iVar21 + 1;" statement_identifier : (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;)) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar21) goto LAB_0001f314;" if (parenthesized_expression "(iVar9 <= iVar21)" ( (binary_expression "iVar9 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_0001f314;" goto statement_identifier ;)) })) (expression_statement "iVar18 = *piVar26;" (assignment_expression "iVar18 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "piVar28 = *(int **)(piVar27[1] + iVar21 * 4);" (assignment_expression "piVar28 = *(int **)(piVar27[1] + iVar21 * 4)" identifier = (pointer_expression "*(int **)(piVar27[1] + iVar21 * 4)" * (cast_expression "(int **)(piVar27[1] + iVar21 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27[1] + iVar21 * 4)" ( (binary_expression "piVar27[1] + iVar21 * 4" (subscript_expression "piVar27[1]" identifier [ number_literal ]) + (binary_expression "iVar21 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar18 < 1) goto LAB_0001f25c;" if (parenthesized_expression "(iVar18 < 1)" ( (binary_expression "iVar18 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f25c;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar17 = piVar26;" (assignment_expression "piVar17 = piVar26" identifier = identifier) ;) (do_statement "do {\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar18);" do (compound_statement "{\n              piVar17 = piVar17 + 1;\n              if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }\n              iVar9 = iVar9 + 1;\n            }" { (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (if_statement "if (*piVar17 != 0) {\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (compound_statement "{\n                uVar19 = *(uint *)(*piVar17 + 4);\n                if (*(int *)puVar3 <= (int)uVar19) break;\n                uVar13 = (uVar19 >> 5) - piVar28[1];\n                if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }\n                iVar14 = iVar14 + uVar19;\n              }" { (expression_statement "uVar19 = *(uint *)(*piVar17 + 4);" (assignment_expression "uVar19 = *(uint *)(*piVar17 + 4)" identifier = (pointer_expression "*(uint *)(*piVar17 + 4)" * (cast_expression "(uint *)(*piVar17 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + 4)" ( (binary_expression "*piVar17 + 4" (pointer_expression "*piVar17" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)puVar3 <= (int)uVar19) break;" if (parenthesized_expression "(*(int *)puVar3 <= (int)uVar19)" ( (binary_expression "*(int *)puVar3 <= (int)uVar19" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = (uVar19 >> 5) - piVar28[1];" (assignment_expression "uVar13 = (uVar19 >> 5) - piVar28[1]" identifier = (binary_expression "(uVar19 >> 5) - piVar28[1]" (parenthesized_expression "(uVar19 >> 5)" ( (binary_expression "uVar19 >> 5" identifier >> number_literal) )) - (subscript_expression "piVar28[1]" identifier [ number_literal ]))) ;) (if_statement "if (uVar13 < (uint)piVar28[2]) {\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }\n                else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }" if (parenthesized_expression "(uVar13 < (uint)piVar28[2])" ( (binary_expression "uVar13 < (uint)piVar28[2]" identifier < (cast_expression "(uint)piVar28[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar28[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                  uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;\n                }" { (expression_statement "uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1;" (assignment_expression "uVar19 = *(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f) & 1" (binary_expression "*(uint *)(piVar28[3] + uVar13 * 4) >> (uVar19 & 0x1f)" (pointer_expression "*(uint *)(piVar28[3] + uVar13 * 4)" * (cast_expression "(uint *)(piVar28[3] + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar28[3] + uVar13 * 4)" ( (binary_expression "piVar28[3] + uVar13 * 4" (subscript_expression "piVar28[3]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar19 & 0x1f)" ( (binary_expression "uVar19 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }" else (compound_statement "{\n                  uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);\n                  iVar18 = *piVar26;\n                }" { (expression_statement "uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19);" (assignment_expression "uVar19 = (**(code **)(*piVar28 + 0xc))(piVar28,uVar19)" identifier = (call_expression "(**(code **)(*piVar28 + 0xc))(piVar28,uVar19)" (parenthesized_expression "(**(code **)(*piVar28 + 0xc))" ( (pointer_expression "**(code **)(*piVar28 + 0xc)" * (pointer_expression "*(code **)(*piVar28 + 0xc)" * (cast_expression "(code **)(*piVar28 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar28 + 0xc)" ( (binary_expression "*piVar28 + 0xc" (pointer_expression "*piVar28" * identifier) + number_literal) ))))) )) (argument_list "(piVar28,uVar19)" ( identifier , identifier )))) ;) (expression_statement "iVar18 = *piVar26;" (assignment_expression "iVar18 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) }))) (expression_statement "iVar14 = iVar14 + uVar19;" (assignment_expression "iVar14 = iVar14 + uVar19" identifier = (binary_expression "iVar14 + uVar19" identifier + identifier)) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 < iVar18)" ( (binary_expression "iVar9 < iVar18" identifier < identifier) )) ;) (expression_statement "iVar9 = *piVar27;" (assignment_expression "iVar9 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 < iVar9)" ( (binary_expression "iVar21 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f314:\n          iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = uVar16 + iVar14;" (assignment_expression "uVar16 = uVar16 + iVar14" identifier = (binary_expression "uVar16 + iVar14" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar24 < iVar9)" ( (binary_expression "iVar24 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f330:\n        if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }" statement_identifier : (if_statement "if (uVar25 != uVar16) {\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }" if (parenthesized_expression "(uVar25 != uVar16)" ( (binary_expression "uVar25 != uVar16" identifier != identifier) )) (compound_statement "{\n          if (uVar16 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);\n          goto LAB_0001f390;\n        }" { (if_statement "if (uVar16 == 0) goto LAB_0001f34c;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f34c;" goto statement_identifier ;)) (labeled_statement "LAB_0001f358:\n          pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" statement_identifier : (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar8,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,puVar8,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25);" (call_expression "complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25)" identifier (argument_list "((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar16,uVar25)" ( (cast_expression "(location *)(puVar20 + 8)" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))) , identifier , identifier , (pointer_expression "*puVar20" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f390;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;" statement_identifier : (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f6ac;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f6ac;" goto statement_identifier ;)) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar24 < *(int *)puVar2);" do (compound_statement "{\n          piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar26;\n          if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }\n          iVar24 = iVar24 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        }" { (expression_statement "piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc);" (assignment_expression "piVar26 = *(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc)" * (cast_expression "(int **)(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc)" ( (binary_expression "*(int *)(*(int *)puVar6 + iVar24 * 4) + 0xc" (pointer_expression "*(int *)(*(int *)puVar6 + iVar24 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar24 * 4)" ( (binary_expression "*(int *)puVar6 + iVar24 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar24 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" identifier = (cast_expression "(int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (parenthesized_expression "(*(code *)PTR_bitset_create_0008d78c)" ( (pointer_expression "*(code *)PTR_bitset_create_0008d78c" * (cast_expression "(code *)PTR_bitset_create_0008d78c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar3,1)" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))))) ;) (expression_statement "iVar9 = *piVar26;" (assignment_expression "iVar9 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (if_statement "if (0 < iVar9) {\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n            iVar14 = 0;\n            iVar21 = 0;\n            piVar27 = piVar26 + 2;\n            do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);\nLAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;\n          }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "piVar27 = piVar26 + 2;" (assignment_expression "piVar27 = piVar26 + 2" identifier = (binary_expression "piVar26 + 2" identifier + number_literal)) ;) (do_statement "do {\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            } while (iVar21 < iVar9);" do (compound_statement "{\n              while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }\n              iVar18 = 0;\n              piVar28 = piVar26 + 2;\n              do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);\n              iVar21 = iVar21 + 1;\n              piVar27 = piVar27 + 1;\n            }" { (while_statement "while (puVar20 != (undefined4 *)*piVar27) {\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }" while (parenthesized_expression "(puVar20 != (undefined4 *)*piVar27)" ( (binary_expression "puVar20 != (undefined4 *)*piVar27" identifier != (cast_expression "(undefined4 *)*piVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar27" * identifier))) )) (compound_statement "{\n                iVar21 = iVar21 + 1;\n                piVar27 = piVar27 + 1;\n                if (iVar9 <= iVar21) goto LAB_0001f4c0;\n              }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "piVar27 = piVar27 + 1;" (assignment_expression "piVar27 = piVar27 + 1" identifier = (binary_expression "piVar27 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar21) goto LAB_0001f4c0;" if (parenthesized_expression "(iVar9 <= iVar21)" ( (binary_expression "iVar9 <= iVar21" identifier <= identifier) )) (goto_statement "goto LAB_0001f4c0;" goto statement_identifier ;)) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "piVar28 = piVar26 + 2;" (assignment_expression "piVar28 = piVar26 + 2" identifier = (binary_expression "piVar26 + 2" identifier + number_literal)) ;) (do_statement "do {\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              } while (iVar18 < iVar9);" do (compound_statement "{\n                iVar15 = iVar18 * 4;\n                iVar18 = iVar18 + 1;\n                if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }\n                piVar28 = piVar28 + 1;\n              }" { (expression_statement "iVar15 = iVar18 * 4;" (assignment_expression "iVar15 = iVar18 * 4" identifier = (binary_expression "iVar18 * 4" identifier * number_literal)) ;) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (puVar20 != (undefined4 *)*piVar28) {\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }" if (parenthesized_expression "(puVar20 != (undefined4 *)*piVar28)" ( (binary_expression "puVar20 != (undefined4 *)*piVar28" identifier != (cast_expression "(undefined4 *)*piVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar28" * identifier))) )) (compound_statement "{\n                  piVar17 = *(int **)(piVar26[1] + iVar21 * 4);\n                  (**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));\n                  iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar26;\n                  iVar14 = iVar14 + iVar15;\n                }" { (expression_statement "piVar17 = *(int **)(piVar26[1] + iVar21 * 4);" (assignment_expression "piVar17 = *(int **)(piVar26[1] + iVar21 * 4)" identifier = (pointer_expression "*(int **)(piVar26[1] + iVar21 * 4)" * (cast_expression "(int **)(piVar26[1] + iVar21 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar26[1] + iVar21 * 4)" ( (binary_expression "piVar26[1] + iVar21 * 4" (subscript_expression "piVar26[1]" identifier [ number_literal ]) + (binary_expression "iVar21 * 4" identifier * number_literal)) ))))) ;) (expression_statement "(**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15));" (call_expression "(**(code **)(*piVar17 + 0x3c))\n                            (piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15))" (parenthesized_expression "(**(code **)(*piVar17 + 0x3c))" ( (pointer_expression "**(code **)(*piVar17 + 0x3c)" * (pointer_expression "*(code **)(*piVar17 + 0x3c)" * (cast_expression "(code **)(*piVar17 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar17 + 0x3c)" ( (binary_expression "*piVar17 + 0x3c" (pointer_expression "*piVar17" * identifier) + number_literal) ))))) )) (argument_list "(piVar11,piVar17,*(undefined4 *)(piVar26[1] + iVar15))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(piVar26[1] + iVar15)" * (cast_expression "(undefined4 *)(piVar26[1] + iVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[1] + iVar15)" ( (binary_expression "piVar26[1] + iVar15" (subscript_expression "piVar26[1]" identifier [ number_literal ]) + identifier) )))) ))) ;) (expression_statement "iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11);" (assignment_expression "iVar15 = (**(code **)(*piVar11 + 0x18))(piVar11)" identifier = (call_expression "(**(code **)(*piVar11 + 0x18))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0x18))" ( (pointer_expression "**(code **)(*piVar11 + 0x18)" * (pointer_expression "*(code **)(*piVar11 + 0x18)" * (cast_expression "(code **)(*piVar11 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x18)" ( (binary_expression "*piVar11 + 0x18" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "iVar9 = *piVar26;" (assignment_expression "iVar9 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "iVar14 = iVar14 + iVar15;" (assignment_expression "iVar14 = iVar14 + iVar15" identifier = (binary_expression "iVar14 + iVar15" identifier + identifier)) ;) })) (expression_statement "piVar28 = piVar28 + 1;" (assignment_expression "piVar28 = piVar28 + 1" identifier = (binary_expression "piVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar18 < iVar9)" ( (binary_expression "iVar18 < iVar9" identifier < identifier) )) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "piVar27 = piVar27 + 1;" (assignment_expression "piVar27 = piVar27 + 1" identifier = (binary_expression "piVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 < iVar9)" ( (binary_expression "iVar21 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f4c0:\n            uVar25 = uVar25 + iVar14;" statement_identifier : (expression_statement "uVar25 = uVar25 + iVar14;" (assignment_expression "uVar25 = uVar25 + iVar14" identifier = (binary_expression "uVar25 + iVar14" identifier + identifier)) ;)) })) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_bitset_free_0008d794)(piVar11);" (call_expression "(*(code *)PTR_bitset_free_0008d794)(piVar11)" (parenthesized_expression "(*(code *)PTR_bitset_free_0008d794)" ( (pointer_expression "*(code *)PTR_bitset_free_0008d794" * (cast_expression "(code *)PTR_bitset_free_0008d794" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }) while (parenthesized_expression "(iVar24 < *(int *)puVar2)" ( (binary_expression "iVar24 < *(int *)puVar2" identifier < (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (if_statement "if (uVar23 == uVar25) goto LAB_0001f544;" if (parenthesized_expression "(uVar23 == uVar25)" ( (binary_expression "uVar23 == uVar25" identifier == identifier) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;)) (if_statement "if (uVar25 == 0) goto LAB_0001f4fc;" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f4fc;" goto statement_identifier ;)) (labeled_statement "LAB_0001f508:\n        pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" statement_identifier : (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,puVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar7,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,puVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23);" (call_expression "complain((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23)" identifier (argument_list "((location *)(puVar20 + 8),complaint,pcVar10,*puVar20,uVar25,uVar23)" ( (cast_expression "(location *)(puVar20 + 8)" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))) , identifier , identifier , (pointer_expression "*puVar20" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;) })) (if_statement "if (uVar25 != 0) {\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" { (labeled_statement "LAB_0001f34c:\n        if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }" statement_identifier : (if_statement "if (uVar25 != 0xffffffff) {\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }" if (parenthesized_expression "(uVar25 != 0xffffffff)" ( (binary_expression "uVar25 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          uVar16 = 0;\n          goto LAB_0001f358;\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f358;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f390:\n        iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto LAB_0001f394;" goto statement_identifier ;) })) (labeled_statement "LAB_0001f6ac:\n      if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }" statement_identifier : (if_statement "if (uVar23 != 0) {\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;\n        uVar25 = 0;\n        goto LAB_0001f508;\n      }" { (labeled_statement "LAB_0001f4fc:\n        if (uVar23 == 0xffffffff) goto LAB_0001f544;" statement_identifier : (if_statement "if (uVar23 == 0xffffffff) goto LAB_0001f544;" if (parenthesized_expression "(uVar23 == 0xffffffff)" ( (binary_expression "uVar23 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;))) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f508;" goto statement_identifier ;) }))) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_5c < *(int *)puVar5)" ( (binary_expression "local_5c < *(int *)puVar5" identifier < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;" statement_identifier : (expression_statement "puVar1 = PTR_expected_rr_conflicts_0008d86c;" (assignment_expression "puVar1 = PTR_expected_rr_conflicts_0008d86c" identifier = identifier) ;)) (if_statement "if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain((location *)0x0,Wother,pcVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" if (parenthesized_expression "((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1))" ( (binary_expression "(*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" (parenthesized_expression "(*PTR_glr_parser_0008d868 == '\0')" ( (binary_expression "*PTR_glr_parser_0008d868 == '\0'" (pointer_expression "*PTR_glr_parser_0008d868" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" ( (binary_expression "*(int *)PTR_expected_rr_conflicts_0008d86c != -1" (pointer_expression "*(int *)PTR_expected_rr_conflicts_0008d86c" * (cast_expression "(int *)PTR_expected_rr_conflicts_0008d86c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain((location *)0x0,Wother,pcVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,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 + 0x1cec,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1cec" identifier + number_literal) , number_literal ))))) ;) (expression_statement "complain((location *)0x0,Wother,pcVar10);" (call_expression "complain((location *)0x0,Wother,pcVar10)" identifier (argument_list "((location *)0x0,Wother,pcVar10)" ( (cast_expression "(location *)0x0" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0xffffffff;" (assignment_expression "*(undefined4 *)puVar1 = 0xffffffff" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "puVar4 = PTR_expected_sr_conflicts_0008d870;" (assignment_expression "puVar4 = PTR_expected_sr_conflicts_0008d870" identifier = identifier) ;) (expression_statement "sVar12 = count_sr_conflicts();" (assignment_expression "sVar12 = count_sr_conflicts()" identifier = (call_expression "count_sr_conflicts()" identifier (argument_list "()" ( )))) ;) (expression_statement "sVar22 = *(size_t *)puVar4;" (assignment_expression "sVar22 = *(size_t *)puVar4" identifier = (pointer_expression "*(size_t *)puVar4" * (cast_expression "(size_t *)puVar4" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }\n  }\n  else if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }" if (parenthesized_expression "((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1))" ( (binary_expression "(sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar1 == -1)" (parenthesized_expression "(sVar22 == 0xffffffff)" ( (binary_expression "sVar22 == 0xffffffff" identifier == number_literal) )) && (parenthesized_expression "(sVar22 = 0, *(int *)puVar1 == -1)" ( (comma_expression "sVar22 = 0, *(int *)puVar1 == -1" (assignment_expression "sVar22 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar1 == -1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }\n  }" { (if_statement "if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }" if (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);\n      complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);\n    }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,sVar12,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d60" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1d44" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12);" (call_expression "complain((location *)0x0,Wconflicts_sr,pcVar10,sVar12)" identifier (argument_list "((location *)0x0,Wconflicts_sr,pcVar10,sVar12)" ( (cast_expression "(location *)0x0" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier ))) ;) })) }) (else_clause "else if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }" else (if_statement "if (sVar22 != sVar12) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }" if (parenthesized_expression "(sVar22 != sVar12)" ( (binary_expression "sVar22 != sVar12" identifier != identifier) )) (compound_statement "{\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n  }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,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 + 0x1d14,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d14" identifier + number_literal) , number_literal ))))) ;) (expression_statement "complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);" (call_expression "complain((location *)0x0,complaint,pcVar10,sVar12,sVar22)" identifier (argument_list "((location *)0x0,complaint,pcVar10,sVar12,sVar22)" ( (cast_expression "(location *)0x0" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier ))) ;) })))) (expression_statement "sVar12 = count_rr_conflicts();" (assignment_expression "sVar12 = count_rr_conflicts()" identifier = (call_expression "count_rr_conflicts()" identifier (argument_list "()" ( )))) ;) (expression_statement "sVar22 = *(size_t *)puVar1;" (assignment_expression "sVar22 = *(size_t *)puVar1" identifier = (pointer_expression "*(size_t *)puVar1" * (cast_expression "(size_t *)puVar1" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)) {\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }\n  }\n  else if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }" if (parenthesized_expression "((sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1))" ( (binary_expression "(sVar22 == 0xffffffff) && (sVar22 = 0, *(int *)puVar4 == -1)" (parenthesized_expression "(sVar22 == 0xffffffff)" ( (binary_expression "sVar22 == 0xffffffff" identifier == number_literal) )) && (parenthesized_expression "(sVar22 = 0, *(int *)puVar4 == -1)" ( (comma_expression "sVar22 = 0, *(int *)puVar4 == -1" (assignment_expression "sVar22 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar4 == -1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }\n  }" { (if_statement "if (sVar12 != 0) {\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }" if (parenthesized_expression "(sVar12 != 0)" ( (binary_expression "sVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);\n      complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);\n      return;\n    }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                                  (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,sVar12,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1dc8" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1dac" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12);" (call_expression "complain((location *)0x0,Wconflicts_rr,pcVar10,sVar12)" identifier (argument_list "((location *)0x0,Wconflicts_rr,pcVar10,sVar12)" ( (cast_expression "(location *)0x0" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }" else (if_statement "if (sVar12 != sVar22) {\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }" if (parenthesized_expression "(sVar12 != sVar22)" ( (binary_expression "sVar12 != sVar22" identifier != identifier) )) (compound_statement "{\n    pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);\n    return;\n  }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,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 + 0x1d7c,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d7c" identifier + number_literal) , number_literal ))))) ;) (expression_statement "complain((location *)0x0,complaint,pcVar10,sVar12,sVar22);" (call_expression "complain((location *)0x0,complaint,pcVar10,sVar12,sVar22)" identifier (argument_list "((location *)0x0,complaint,pcVar10,sVar12,sVar22)" ( (cast_expression "(location *)0x0" ( (type_descriptor "location *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))) (return_statement "return;" return ;) })))
(translation_unit "void conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\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 "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR_nrules_0008d7c8;" (assignment_expression "puVar5 = PTR_nrules_0008d7c8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_rules_0008d784;" (assignment_expression "puVar4 = PTR_rules_0008d784" identifier = identifier) ;) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" identifier = identifier) ;) (if_statement "if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" if (parenthesized_expression "(0 < *(int *)PTR_nrules_0008d7c8)" ( (binary_expression "0 < *(int *)PTR_nrules_0008d7c8" number_literal < (pointer_expression "*(int *)PTR_nrules_0008d7c8" * (cast_expression "(int *)PTR_nrules_0008d7c8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_LAB_0008d628 + 0x1cb0;" (assignment_expression "puVar7 = PTR_LAB_0008d628 + 0x1cb0" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1cb0" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_LAB_0008d628 + 0x1c74;" (assignment_expression "puVar8 = PTR_LAB_0008d628 + 0x1c74" identifier = (binary_expression "PTR_LAB_0008d628 + 0x1c74" identifier + number_literal)) ;) (do_statement "do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);" do (compound_statement "{\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    }" { (while_statement "while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" { (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_nstates_0008d698;" (assignment_expression "puVar2 = PTR_nstates_0008d698" identifier = identifier) ;) (expression_statement "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);" (assignment_expression "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60)" identifier = (cast_expression "(undefined4 *)(*(int *)puVar4 + local_60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar4 + local_60)" ( (binary_expression "*(int *)puVar4 + local_60" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) ;) (expression_statement "uVar23 = puVar19[0xf];" (assignment_expression "uVar23 = puVar19[0xf]" identifier = (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar21 = puVar19[0x10];" (assignment_expression "uVar21 = puVar19[0x10]" identifier = (subscript_expression "puVar19[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((uVar23 & uVar21) != 0xffffffff) break;" if (parenthesized_expression "((uVar23 & uVar21) != 0xffffffff)" ( (binary_expression "(uVar23 & uVar21) != 0xffffffff" (parenthesized_expression "(uVar23 & uVar21)" ( (binary_expression "uVar23 & uVar21" identifier & identifier) )) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001f544:\n        local_5c = local_5c + 1;" statement_identifier : (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;)) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) (if_statement "if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;" if (parenthesized_expression "(*(int *)puVar5 <= local_5c)" ( (binary_expression "*(int *)puVar5 <= local_5c" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= identifier) )) (goto_statement "goto LAB_0001f568;" goto statement_identifier ;)) })) (if_statement "if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" if (parenthesized_expression "(0 < *(int *)PTR_nstates_0008d698)" ( (binary_expression "0 < *(int *)PTR_nstates_0008d698" number_literal < (pointer_expression "*(int *)PTR_nstates_0008d698" * (cast_expression "(int *)PTR_nstates_0008d698" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" { (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);" do (compound_statement "{\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        }" { (while_statement "while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" while (parenthesized_expression "(*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" * (cast_expression "(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar1 + -0x1ea0) + iVar22)" ( (binary_expression "*(int *)(puVar1 + -0x1ea0) + iVar22" (pointer_expression "*(int *)(puVar1 + -0x1ea0)" * (cast_expression "(int *)(puVar1 + -0x1ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x1ea0)" ( (binary_expression "puVar1 + -0x1ea0" identifier + number_literal) )))) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" { (labeled_statement "LAB_0001f1f0:\n            iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar22) goto LAB_0001f330;" if (parenthesized_expression "(iVar9 <= iVar22)" ( (binary_expression "iVar9 <= iVar22" identifier <= identifier) )) (goto_statement "goto LAB_0001f330;" goto statement_identifier ;)) })) (expression_statement "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4)" identifier = (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" ( (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar22 * 4" identifier * number_literal)) ))))) ;) (expression_statement "piVar25 = *(int **)(iVar9 + 0xc);" (assignment_expression "piVar25 = *(int **)(iVar9 + 0xc)" identifier = (pointer_expression "*(int **)(iVar9 + 0xc)" * (cast_expression "(int **)(iVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar24 = *(int **)(iVar9 + 8);" (assignment_expression "piVar24 = *(int **)(iVar9 + 8)" identifier = (pointer_expression "*(int **)(iVar9 + 8)" * (cast_expression "(int **)(iVar9 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "piVar11 = piVar25 + 2;" (assignment_expression "piVar11 = piVar25 + 2" identifier = (binary_expression "piVar25 + 2" identifier + number_literal)) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f1f0;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f1f0;" goto statement_identifier ;)) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);" do (compound_statement "{\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          }" { (while_statement "while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" while (parenthesized_expression "(puVar19 != (undefined4 *)*piVar11)" ( (binary_expression "puVar19 != (undefined4 *)*piVar11" identifier != (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) )) (compound_statement "{\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" { (labeled_statement "LAB_0001f25c:\n              iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f314;" if (parenthesized_expression "(iVar9 <= iVar20)" ( (binary_expression "iVar9 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0001f314;" goto statement_identifier ;)) })) (expression_statement "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "piVar26 = *(int **)(piVar25[1] + iVar20 * 4);" (assignment_expression "piVar26 = *(int **)(piVar25[1] + iVar20 * 4)" identifier = (pointer_expression "*(int **)(piVar25[1] + iVar20 * 4)" * (cast_expression "(int **)(piVar25[1] + iVar20 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar25[1] + iVar20 * 4)" ( (binary_expression "piVar25[1] + iVar20 * 4" (subscript_expression "piVar25[1]" identifier [ number_literal ]) + (binary_expression "iVar20 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar17 < 1) goto LAB_0001f25c;" if (parenthesized_expression "(iVar17 < 1)" ( (binary_expression "iVar17 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f25c;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = piVar24;" (assignment_expression "piVar16 = piVar24" identifier = identifier) ;) (do_statement "do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);" do (compound_statement "{\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            }" { (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" identifier = (binary_expression "piVar16 + 1" identifier + number_literal)) ;) (if_statement "if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" if (parenthesized_expression "(*piVar16 != 0)" ( (binary_expression "*piVar16 != 0" (pointer_expression "*piVar16" * identifier) != number_literal) )) (compound_statement "{\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" { (expression_statement "uVar18 = *(uint *)(*piVar16 + 4);" (assignment_expression "uVar18 = *(uint *)(*piVar16 + 4)" identifier = (pointer_expression "*(uint *)(*piVar16 + 4)" * (cast_expression "(uint *)(*piVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + 4)" ( (binary_expression "*piVar16 + 4" (pointer_expression "*piVar16" * identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)puVar3 <= (int)uVar18) break;" if (parenthesized_expression "(*(int *)puVar3 <= (int)uVar18)" ( (binary_expression "*(int *)puVar3 <= (int)uVar18" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar12 = (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 (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" if (parenthesized_expression "(uVar12 < (uint)piVar26[2])" ( (binary_expression "uVar12 < (uint)piVar26[2]" identifier < (cast_expression "(uint)piVar26[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar26[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }" { (expression_statement "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" identifier = (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar26[3] + uVar12 * 4)" * (cast_expression "(uint *)(piVar26[3] + uVar12 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[3] + uVar12 * 4)" ( (binary_expression "piVar26[3] + uVar12 * 4" (subscript_expression "piVar26[3]" identifier [ number_literal ]) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal)) ;) }) (else_clause "else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" else (compound_statement "{\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" { (expression_statement "uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar18 = (**(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 "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) }))) (expression_statement "iVar13 = iVar13 + uVar18;" (assignment_expression "iVar13 = iVar13 + uVar18" identifier = (binary_expression "iVar13 + uVar18" identifier + identifier)) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 < iVar17)" ( (binary_expression "iVar9 < iVar17" identifier < identifier) )) ;) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < iVar9)" ( (binary_expression "iVar20 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f314:\n          iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar15 = uVar15 + iVar13;" (assignment_expression "uVar15 = uVar15 + iVar13" identifier = (binary_expression "uVar15 + iVar13" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar22 < iVar9)" ( (binary_expression "iVar22 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" statement_identifier : (if_statement "if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" if (parenthesized_expression "(uVar23 != uVar15)" ( (binary_expression "uVar23 != uVar15" identifier != identifier) )) (compound_statement "{\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" { (if_statement "if (uVar15 == 0) goto LAB_0001f34c;" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f34c;" goto statement_identifier ;)) (labeled_statement "LAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar8,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,puVar8,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" identifier (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" ( (binary_expression "puVar19 + 8" identifier + number_literal) , number_literal , identifier , (pointer_expression "*puVar19" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f390;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;" statement_identifier : (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" identifier = identifier) ;)) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" identifier = identifier) ;) (if_statement "if (iVar9 < 1) goto LAB_0001f6ac;" if (parenthesized_expression "(iVar9 < 1)" ( (binary_expression "iVar9 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0001f6ac;" goto statement_identifier ;)) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);" do (compound_statement "{\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        }" { (expression_statement "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);" (assignment_expression "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" * (cast_expression "(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" ( (binary_expression "*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc" (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" * (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" ( (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" * (cast_expression "(int *)puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" identifier = (cast_expression "(int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (parenthesized_expression "(*(code *)PTR_bitset_create_0008d78c)" ( (pointer_expression "*(code *)PTR_bitset_create_0008d78c" * (cast_expression "(code *)PTR_bitset_create_0008d78c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar3,1)" ( (pointer_expression "*(undefined4 *)puVar3" * (cast_expression "(undefined4 *)puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))))) ;) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (if_statement "if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = piVar24 + 2;" (assignment_expression "piVar25 = piVar24 + 2" identifier = (binary_expression "piVar24 + 2" identifier + number_literal)) ;) (do_statement "do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);" do (compound_statement "{\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            }" { (while_statement "while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" while (parenthesized_expression "(puVar19 != (undefined4 *)*piVar25)" ( (binary_expression "puVar19 != (undefined4 *)*piVar25" identifier != (cast_expression "(undefined4 *)*piVar25" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) )) (compound_statement "{\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" identifier = (binary_expression "piVar25 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f4c0;" if (parenthesized_expression "(iVar9 <= iVar20)" ( (binary_expression "iVar9 <= iVar20" identifier <= identifier) )) (goto_statement "goto LAB_0001f4c0;" goto statement_identifier ;)) })) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "piVar26 = piVar24 + 2;" (assignment_expression "piVar26 = piVar24 + 2" identifier = (binary_expression "piVar24 + 2" identifier + number_literal)) ;) (do_statement "do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);" do (compound_statement "{\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              }" { (expression_statement "iVar14 = iVar17 * 4;" (assignment_expression "iVar14 = iVar17 * 4" identifier = (binary_expression "iVar17 * 4" identifier * number_literal)) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (if_statement "if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" if (parenthesized_expression "(puVar19 != (undefined4 *)*piVar26)" ( (binary_expression "puVar19 != (undefined4 *)*piVar26" identifier != (cast_expression "(undefined4 *)*piVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" { (expression_statement "piVar16 = *(int **)(piVar24[1] + iVar20 * 4);" (assignment_expression "piVar16 = *(int **)(piVar24[1] + iVar20 * 4)" identifier = (pointer_expression "*(int **)(piVar24[1] + iVar20 * 4)" * (cast_expression "(int **)(piVar24[1] + iVar20 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar24[1] + iVar20 * 4)" ( (binary_expression "piVar24[1] + iVar20 * 4" (subscript_expression "piVar24[1]" identifier [ number_literal ]) + (binary_expression "iVar20 * 4" identifier * number_literal)) ))))) ;) (expression_statement "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));" (call_expression "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" (parenthesized_expression "(**(code **)(*piVar16 + 0x3c))" ( (pointer_expression "**(code **)(*piVar16 + 0x3c)" * (pointer_expression "*(code **)(*piVar16 + 0x3c)" * (cast_expression "(code **)(*piVar16 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar16 + 0x3c)" ( (binary_expression "*piVar16 + 0x3c" (pointer_expression "*piVar16" * identifier) + number_literal) ))))) )) (argument_list "(piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(piVar24[1] + iVar14)" * (cast_expression "(undefined4 *)(piVar24[1] + iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar24[1] + iVar14)" ( (binary_expression "piVar24[1] + iVar14" (subscript_expression "piVar24[1]" identifier [ number_literal ]) + identifier) )))) ))) ;) (expression_statement "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);" (assignment_expression "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11)" identifier = (call_expression "(**(code **)(*piVar11 + 0x18))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0x18))" ( (pointer_expression "**(code **)(*piVar11 + 0x18)" * (pointer_expression "*(code **)(*piVar11 + 0x18)" * (cast_expression "(code **)(*piVar11 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0x18)" ( (binary_expression "*piVar11 + 0x18" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "iVar13 = iVar13 + iVar14;" (assignment_expression "iVar13 = iVar13 + iVar14" identifier = (binary_expression "iVar13 + iVar14" identifier + identifier)) ;) })) (expression_statement "piVar26 = piVar26 + 1;" (assignment_expression "piVar26 = piVar26 + 1" identifier = (binary_expression "piVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar9)" ( (binary_expression "iVar17 < iVar9" identifier < identifier) )) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" identifier = (binary_expression "piVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < iVar9)" ( (binary_expression "iVar20 < iVar9" identifier < identifier) )) ;) (labeled_statement "LAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;" statement_identifier : (expression_statement "uVar23 = uVar23 + iVar13;" (assignment_expression "uVar23 = uVar23 + iVar13" identifier = (binary_expression "uVar23 + iVar13" identifier + identifier)) ;)) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_bitset_free_0008d794)(piVar11);" (call_expression "(*(code *)PTR_bitset_free_0008d794)(piVar11)" (parenthesized_expression "(*(code *)PTR_bitset_free_0008d794)" ( (pointer_expression "*(code *)PTR_bitset_free_0008d794" * (cast_expression "(code *)PTR_bitset_free_0008d794" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier ))) ;) }) while (parenthesized_expression "(iVar22 < *(int *)puVar2)" ( (binary_expression "iVar22 < *(int *)puVar2" identifier < (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) (if_statement "if (uVar21 == uVar23) goto LAB_0001f544;" if (parenthesized_expression "(uVar21 == uVar23)" ( (binary_expression "uVar21 == uVar23" identifier == identifier) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;)) (if_statement "if (uVar23 == 0) goto LAB_0001f4fc;" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001f4fc;" goto statement_identifier ;)) (labeled_statement "LAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar7,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,puVar7,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" identifier (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" ( (binary_expression "puVar19 + 8" identifier + number_literal) , number_literal , identifier , (pointer_expression "*puVar19" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;) })) (if_statement "if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" { (labeled_statement "LAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" statement_identifier : (if_statement "if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" if (parenthesized_expression "(uVar23 != 0xffffffff)" ( (binary_expression "uVar23 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f358;" goto statement_identifier ;) }))) (labeled_statement "LAB_0001f390:\n        iVar9 = *(int *)puVar2;" statement_identifier : (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (goto_statement "goto LAB_0001f394;" goto statement_identifier ;) })) (labeled_statement "LAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" statement_identifier : (if_statement "if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" { (labeled_statement "LAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;" statement_identifier : (if_statement "if (uVar21 == 0xffffffff) goto LAB_0001f544;" if (parenthesized_expression "(uVar21 == 0xffffffff)" ( (binary_expression "uVar21 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001f544;" goto statement_identifier ;))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001f508;" goto statement_identifier ;) }))) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" identifier = (binary_expression "local_60 + 0x60" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_5c < *(int *)puVar5)" ( (binary_expression "local_5c < *(int *)puVar5" identifier < (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) ;) })) (labeled_statement "LAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;" statement_identifier : (expression_statement "puVar1 = PTR_expected_rr_conflicts_0008d86c;" (assignment_expression "puVar1 = PTR_expected_rr_conflicts_0008d86c" identifier = identifier) ;)) (if_statement "if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" if (parenthesized_expression "((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1))" ( (binary_expression "(*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" (parenthesized_expression "(*PTR_glr_parser_0008d868 == '\0')" ( (binary_expression "*PTR_glr_parser_0008d868 == '\0'" (pointer_expression "*PTR_glr_parser_0008d868" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" ( (binary_expression "*(int *)PTR_expected_rr_conflicts_0008d86c != -1" (pointer_expression "*(int *)PTR_expected_rr_conflicts_0008d86c" * (cast_expression "(int *)PTR_expected_rr_conflicts_0008d86c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,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 + 0x1cec,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1cec" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x80,uVar10);" (call_expression "complain(0,0x80,uVar10)" identifier (argument_list "(0,0x80,uVar10)" ( number_literal , number_literal , identifier ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0xffffffff;" (assignment_expression "*(undefined4 *)puVar1 = 0xffffffff" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "puVar4 = PTR_expected_sr_conflicts_0008d870;" (assignment_expression "puVar4 = PTR_expected_sr_conflicts_0008d870" identifier = identifier) ;) (expression_statement "iVar22 = FUN_0001d730();" (assignment_expression "iVar22 = FUN_0001d730()" identifier = (call_expression "FUN_0001d730()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" if (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1))" ( (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = 0, *(int *)puVar1 == -1)" ( (comma_expression "iVar9 = 0, *(int *)puVar1 == -1" (assignment_expression "iVar9 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar1 == -1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }" { (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" { (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" identifier = (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d60" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1d44" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "complain(0,4,uVar10,iVar22);" (call_expression "complain(0,4,uVar10,iVar22)" identifier (argument_list "(0,4,uVar10,iVar22)" ( number_literal , number_literal , identifier , identifier ))) ;) })) }) (else_clause "else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" else (if_statement "if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" if (parenthesized_expression "(iVar9 != iVar22)" ( (binary_expression "iVar9 != iVar22" identifier != identifier) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,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 + 0x1d14,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d14" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" identifier (argument_list "(0,0x800,uVar10,iVar22,iVar9)" ( number_literal , number_literal , identifier , identifier , identifier ))) ;) })))) (expression_statement "iVar22 = FUN_0001d978();" (assignment_expression "iVar22 = FUN_0001d978()" identifier = (call_expression "FUN_0001d978()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)puVar1;" (assignment_expression "iVar9 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" if (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1))" ( (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)" (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = 0, *(int *)puVar4 == -1)" ( (comma_expression "iVar9 = 0, *(int *)puVar4 == -1" (assignment_expression "iVar9 = 0" identifier = number_literal) , (binary_expression "*(int *)puVar4 == -1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) ))) )) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }" { (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" { (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" identifier = (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" ( (pointer_expression "*(code *)PTR_dcngettext_0008de3c" * (cast_expression "(code *)PTR_dcngettext_0008de3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1dc8" identifier + number_literal) , (binary_expression "PTR_LAB_0008d628 + 0x1dac" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "complain(0,8,uVar10,iVar22);" (call_expression "complain(0,8,uVar10,iVar22)" identifier (argument_list "(0,8,uVar10,iVar22)" ( number_literal , number_literal , identifier , identifier ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" else (if_statement "if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" if (parenthesized_expression "(iVar22 != iVar9)" ( (binary_expression "iVar22 != iVar9" identifier != identifier) )) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,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 + 0x1d7c,5)" ( number_literal , (binary_expression "PTR_LAB_0008d628 + 0x1d7c" identifier + number_literal) , number_literal )))) ;) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" identifier (argument_list "(0,0x800,uVar10,iVar22,iVar9)" ( number_literal , number_literal , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))) (return_statement "return;" return ;) })))
(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 IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (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 = LIT) ;) (do_statement do (compound_statement { (while_statement while (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 IDENT + LIT) )))) + IDENT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression 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 (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = (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 = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < 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)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , IDENT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = 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 *)) ) (parenthesized_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 *)) ) (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)) , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (subscript_expression IDENT [ LIT ]) + (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 *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < 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 < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 ( IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , IDENT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (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 = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != 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 (call_expression IDENT (argument_list ( LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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) , (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) })) }) (else_clause else (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 ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , IDENT ))) ;) })))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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) , (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) (return_statement return ;) })) }) (else_clause else (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 ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))) (return_statement return ;) })))
(function_definition "void conflicts_print(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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "conflicts_print(void)" (identifier "conflicts_print") (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  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  uint uVar18;\n  undefined4 *puVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  uint uVar23;\n  int *piVar24;\n  int *piVar25;\n  int *piVar26;\n  int local_60;\n  int local_5c;\n  \n  puVar5 = PTR_nrules_0008d7c8;\n  puVar4 = PTR_rules_0008d784;\n  puVar1 = PTR_DAT_0008d618;\n  if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }\nLAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;\n  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }\n  puVar4 = PTR_expected_sr_conflicts_0008d870;\n  iVar22 = FUN_0001d730();\n  iVar9 = *(int *)puVar4;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }\n  iVar22 = FUN_0001d978();\n  iVar9 = *(int *)puVar1;\n  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }\n  return;\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 "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (expression_statement "puVar5 = PTR_nrules_0008d7c8;" (assignment_expression "puVar5 = PTR_nrules_0008d7c8" (identifier "puVar5") (= "=") (identifier "PTR_nrules_0008d7c8")) (; ";")) (expression_statement "puVar4 = PTR_rules_0008d784;" (assignment_expression "puVar4 = PTR_rules_0008d784" (identifier "puVar4") (= "=") (identifier "PTR_rules_0008d784")) (; ";")) (expression_statement "puVar1 = PTR_DAT_0008d618;" (assignment_expression "puVar1 = PTR_DAT_0008d618" (identifier "puVar1") (= "=") (identifier "PTR_DAT_0008d618")) (; ";")) (if_statement "if (0 < *(int *)PTR_nrules_0008d7c8) {\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" (if "if") (parenthesized_expression "(0 < *(int *)PTR_nrules_0008d7c8)" (( "(") (binary_expression "0 < *(int *)PTR_nrules_0008d7c8" (number_literal "0") (< "<") (pointer_expression "*(int *)PTR_nrules_0008d7c8" (* "*") (cast_expression "(int *)PTR_nrules_0008d7c8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nrules_0008d7c8")))) () ")")) (compound_statement "{\n    local_60 = 0;\n    local_5c = 0;\n    puVar7 = PTR_LAB_0008d628 + 0x1cb0;\n    puVar8 = PTR_LAB_0008d628 + 0x1c74;\n    do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);\n  }" ({ "{") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7 = PTR_LAB_0008d628 + 0x1cb0;" (assignment_expression "puVar7 = PTR_LAB_0008d628 + 0x1cb0" (identifier "puVar7") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x1cb0" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1cb0"))) (; ";")) (expression_statement "puVar8 = PTR_LAB_0008d628 + 0x1c74;" (assignment_expression "puVar8 = PTR_LAB_0008d628 + 0x1c74" (identifier "puVar8") (= "=") (binary_expression "PTR_LAB_0008d628 + 0x1c74" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1c74"))) (; ";")) (do_statement "do {\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    } while (local_5c < *(int *)puVar5);" (do "do") (compound_statement "{\n      while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }\n      if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }\n      if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }\nLAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }\n      local_5c = local_5c + 1;\n      local_60 = local_60 + 0x60;\n    }" ({ "{") (while_statement "while( true ) {\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        puVar2 = PTR_nstates_0008d698;\n        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);\n        uVar23 = puVar19[0xf];\n        uVar21 = puVar19[0x10];\n        if ((uVar23 & uVar21) != 0xffffffff) break;\nLAB_0001f544:\n        local_5c = local_5c + 1;\n        local_60 = local_60 + 0x60;\n        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;\n      }" ({ "{") (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" (identifier "puVar6") (= "=") (identifier "PTR_states_0008d7f8")) (; ";")) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" (identifier "puVar3") (= "=") (identifier "PTR_ntokens_0008d77c")) (; ";")) (expression_statement "puVar2 = PTR_nstates_0008d698;" (assignment_expression "puVar2 = PTR_nstates_0008d698" (identifier "puVar2") (= "=") (identifier "PTR_nstates_0008d698")) (; ";")) (expression_statement "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);" (assignment_expression "puVar19 = (undefined4 *)(*(int *)puVar4 + local_60)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(*(int *)puVar4 + local_60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar4 + local_60)" (( "(") (binary_expression "*(int *)puVar4 + local_60" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (+ "+") (identifier "local_60")) () ")")))) (; ";")) (expression_statement "uVar23 = puVar19[0xf];" (assignment_expression "uVar23 = puVar19[0xf]" (identifier "uVar23") (= "=") (subscript_expression "puVar19[0xf]" (identifier "puVar19") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "uVar21 = puVar19[0x10];" (assignment_expression "uVar21 = puVar19[0x10]" (identifier "uVar21") (= "=") (subscript_expression "puVar19[0x10]" (identifier "puVar19") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if ((uVar23 & uVar21) != 0xffffffff) break;" (if "if") (parenthesized_expression "((uVar23 & uVar21) != 0xffffffff)" (( "(") (binary_expression "(uVar23 & uVar21) != 0xffffffff" (parenthesized_expression "(uVar23 & uVar21)" (( "(") (binary_expression "uVar23 & uVar21" (identifier "uVar23") (& "&") (identifier "uVar21")) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0001f544:\n        local_5c = local_5c + 1;" (statement_identifier "LAB_0001f544") (: ":") (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" (identifier "local_5c") (= "=") (binary_expression "local_5c + 1" (identifier "local_5c") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" (identifier "local_60") (= "=") (binary_expression "local_60 + 0x60" (identifier "local_60") (+ "+") (number_literal "0x60"))) (; ";")) (if_statement "if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;" (if "if") (parenthesized_expression "(*(int *)puVar5 <= local_5c)" (( "(") (binary_expression "*(int *)puVar5 <= local_5c" (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (<= "<=") (identifier "local_5c")) () ")")) (goto_statement "goto LAB_0001f568;" (goto "goto") (statement_identifier "LAB_0001f568") (; ";"))) (} "}"))) (if_statement "if (0 < *(int *)PTR_nstates_0008d698) {\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" (if "if") (parenthesized_expression "(0 < *(int *)PTR_nstates_0008d698)" (( "(") (binary_expression "0 < *(int *)PTR_nstates_0008d698" (number_literal "0") (< "<") (pointer_expression "*(int *)PTR_nstates_0008d698" (* "*") (cast_expression "(int *)PTR_nstates_0008d698" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_nstates_0008d698")))) () ")")) (compound_statement "{\n        iVar22 = 0;\n        uVar15 = 0;\n        do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);\nLAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }\nLAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;\n        puVar3 = PTR_ntokens_0008d77c;\n        if (iVar9 < 1) goto LAB_0001f6ac;\n        uVar23 = 0;\n        iVar22 = 0;\n        do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);\n        if (uVar21 == uVar23) goto LAB_0001f544;\n        if (uVar23 == 0) goto LAB_0001f4fc;\nLAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);\n        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);\n        goto LAB_0001f544;\n      }" ({ "{") (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        } while (iVar22 < iVar9);" (do "do") (compound_statement "{\n          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }\n          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);\n          piVar25 = *(int **)(iVar9 + 0xc);\n          piVar24 = *(int **)(iVar9 + 8);\n          iVar9 = *piVar25;\n          piVar11 = piVar25 + 2;\n          if (iVar9 < 1) goto LAB_0001f1f0;\n          iVar13 = 0;\n          iVar20 = 0;\n          do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);\nLAB_0001f314:\n          iVar9 = *(int *)puVar2;\n          iVar22 = iVar22 + 1;\n          uVar15 = uVar15 + iVar13;\n        }" ({ "{") (while_statement "while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" (while "while") (parenthesized_expression "(*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" (* "*") (cast_expression "(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar1 + -0x1ea0) + iVar22)" (( "(") (binary_expression "*(int *)(puVar1 + -0x1ea0) + iVar22" (pointer_expression "*(int *)(puVar1 + -0x1ea0)" (* "*") (cast_expression "(int *)(puVar1 + -0x1ea0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x1ea0)" (( "(") (binary_expression "puVar1 + -0x1ea0" (identifier "puVar1") (+ "+") (number_literal "-0x1ea0")) () ")")))) (+ "+") (identifier "iVar22")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0001f1f0:\n            iVar9 = *(int *)puVar2;\n            iVar22 = iVar22 + 1;\n            if (iVar9 <= iVar22) goto LAB_0001f330;\n          }" ({ "{") (labeled_statement "LAB_0001f1f0:\n            iVar9 = *(int *)puVar2;" (statement_identifier "LAB_0001f1f0") (: ":") (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";"))) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 <= iVar22) goto LAB_0001f330;" (if "if") (parenthesized_expression "(iVar9 <= iVar22)" (( "(") (binary_expression "iVar9 <= iVar22" (identifier "iVar9") (<= "<=") (identifier "iVar22")) () ")")) (goto_statement "goto LAB_0001f330;" (goto "goto") (statement_identifier "LAB_0001f330") (; ";"))) (} "}"))) (expression_statement "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" (* "*") (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" (( "(") (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "piVar25 = *(int **)(iVar9 + 0xc);" (assignment_expression "piVar25 = *(int **)(iVar9 + 0xc)" (identifier "piVar25") (= "=") (pointer_expression "*(int **)(iVar9 + 0xc)" (* "*") (cast_expression "(int **)(iVar9 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar24 = *(int **)(iVar9 + 8);" (assignment_expression "piVar24 = *(int **)(iVar9 + 8)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(iVar9 + 8)" (* "*") (cast_expression "(int **)(iVar9 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" (identifier "iVar9") (= "=") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) (; ";")) (expression_statement "piVar11 = piVar25 + 2;" (assignment_expression "piVar11 = piVar25 + 2" (identifier "piVar11") (= "=") (binary_expression "piVar25 + 2" (identifier "piVar25") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (iVar9 < 1) goto LAB_0001f1f0;" (if "if") (parenthesized_expression "(iVar9 < 1)" (( "(") (binary_expression "iVar9 < 1" (identifier "iVar9") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001f1f0;" (goto "goto") (statement_identifier "LAB_0001f1f0") (; ";"))) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          } while (iVar20 < iVar9);" (do "do") (compound_statement "{\n            while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }\n            iVar17 = *piVar24;\n            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);\n            if (iVar17 < 1) goto LAB_0001f25c;\n            iVar9 = 0;\n            piVar16 = piVar24;\n            do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);\n            iVar9 = *piVar25;\n            iVar20 = iVar20 + 1;\n            piVar11 = piVar11 + 1;\n          }" ({ "{") (while_statement "while (puVar19 != (undefined4 *)*piVar11) {\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" (while "while") (parenthesized_expression "(puVar19 != (undefined4 *)*piVar11)" (( "(") (binary_expression "puVar19 != (undefined4 *)*piVar11" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)*piVar11" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) () ")")) (compound_statement "{\nLAB_0001f25c:\n              iVar20 = iVar20 + 1;\n              piVar11 = piVar11 + 1;\n              if (iVar9 <= iVar20) goto LAB_0001f314;\n            }" ({ "{") (labeled_statement "LAB_0001f25c:\n              iVar20 = iVar20 + 1;" (statement_identifier "LAB_0001f25c") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f314;" (if "if") (parenthesized_expression "(iVar9 <= iVar20)" (( "(") (binary_expression "iVar9 <= iVar20" (identifier "iVar9") (<= "<=") (identifier "iVar20")) () ")")) (goto_statement "goto LAB_0001f314;" (goto "goto") (statement_identifier "LAB_0001f314") (; ";"))) (} "}"))) (expression_statement "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" (identifier "iVar17") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (expression_statement "piVar26 = *(int **)(piVar25[1] + iVar20 * 4);" (assignment_expression "piVar26 = *(int **)(piVar25[1] + iVar20 * 4)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(piVar25[1] + iVar20 * 4)" (* "*") (cast_expression "(int **)(piVar25[1] + iVar20 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar25[1] + iVar20 * 4)" (( "(") (binary_expression "piVar25[1] + iVar20 * 4" (subscript_expression "piVar25[1]" (identifier "piVar25") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar20 * 4" (identifier "iVar20") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar17 < 1) goto LAB_0001f25c;" (if "if") (parenthesized_expression "(iVar17 < 1)" (( "(") (binary_expression "iVar17 < 1" (identifier "iVar17") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001f25c;" (goto "goto") (statement_identifier "LAB_0001f25c") (; ";"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar16 = piVar24;" (assignment_expression "piVar16 = piVar24" (identifier "piVar16") (= "=") (identifier "piVar24")) (; ";")) (do_statement "do {\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            } while (iVar9 < iVar17);" (do "do") (compound_statement "{\n              piVar16 = piVar16 + 1;\n              if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }\n              iVar9 = iVar9 + 1;\n            }" ({ "{") (expression_statement "piVar16 = piVar16 + 1;" (assignment_expression "piVar16 = piVar16 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar16 + 1" (identifier "piVar16") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*piVar16 != 0) {\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" (if "if") (parenthesized_expression "(*piVar16 != 0)" (( "(") (binary_expression "*piVar16 != 0" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar18 = *(uint *)(*piVar16 + 4);\n                if (*(int *)puVar3 <= (int)uVar18) break;\n                uVar12 = (uVar18 >> 5) - piVar26[1];\n                if (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }\n                iVar13 = iVar13 + uVar18;\n              }" ({ "{") (expression_statement "uVar18 = *(uint *)(*piVar16 + 4);" (assignment_expression "uVar18 = *(uint *)(*piVar16 + 4)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(*piVar16 + 4)" (* "*") (cast_expression "(uint *)(*piVar16 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar16 + 4)" (( "(") (binary_expression "*piVar16 + 4" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (*(int *)puVar3 <= (int)uVar18) break;" (if "if") (parenthesized_expression "(*(int *)puVar3 <= (int)uVar18)" (( "(") (binary_expression "*(int *)puVar3 <= (int)uVar18" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (<= "<=") (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar12 = (uVar18 >> 5) - piVar26[1];" (assignment_expression "uVar12 = (uVar18 >> 5) - piVar26[1]" (identifier "uVar12") (= "=") (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 (uVar12 < (uint)piVar26[2]) {\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }\n                else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" (if "if") (parenthesized_expression "(uVar12 < (uint)piVar26[2])" (( "(") (binary_expression "uVar12 < (uint)piVar26[2]" (identifier "uVar12") (< "<") (cast_expression "(uint)piVar26[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar26[2]" (identifier "piVar26") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;\n                }" ({ "{") (expression_statement "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;" (assignment_expression "uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" (identifier "uVar18") (= "=") (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1" (binary_expression "*(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f)" (pointer_expression "*(uint *)(piVar26[3] + uVar12 * 4)" (* "*") (cast_expression "(uint *)(piVar26[3] + uVar12 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[3] + uVar12 * 4)" (( "(") (binary_expression "piVar26[3] + uVar12 * 4" (subscript_expression "piVar26[3]" (identifier "piVar26") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "uVar12 * 4" (identifier "uVar12") (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" (else "else") (compound_statement "{\n                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);\n                  iVar17 = *piVar24;\n                }" ({ "{") (expression_statement "uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);" (assignment_expression "uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18)" (identifier "uVar18") (= "=") (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 "iVar17 = *piVar24;" (assignment_expression "iVar17 = *piVar24" (identifier "iVar17") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (} "}")))) (expression_statement "iVar13 = iVar13 + uVar18;" (assignment_expression "iVar13 = iVar13 + uVar18" (identifier "iVar13") (= "=") (binary_expression "iVar13 + uVar18" (identifier "iVar13") (+ "+") (identifier "uVar18"))) (; ";")) (} "}"))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 < iVar17)" (( "(") (binary_expression "iVar9 < iVar17" (identifier "iVar9") (< "<") (identifier "iVar17")) () ")")) (; ";")) (expression_statement "iVar9 = *piVar25;" (assignment_expression "iVar9 = *piVar25" (identifier "iVar9") (= "=") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 < iVar9)" (( "(") (binary_expression "iVar20 < iVar9" (identifier "iVar20") (< "<") (identifier "iVar9")) () ")")) (; ";")) (labeled_statement "LAB_0001f314:\n          iVar9 = *(int *)puVar2;" (statement_identifier "LAB_0001f314") (: ":") (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";"))) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar15 = uVar15 + iVar13;" (assignment_expression "uVar15 = uVar15 + iVar13" (identifier "uVar15") (= "=") (binary_expression "uVar15 + iVar13" (identifier "uVar15") (+ "+") (identifier "iVar13"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar22 < iVar9)" (( "(") (binary_expression "iVar22 < iVar9" (identifier "iVar22") (< "<") (identifier "iVar9")) () ")")) (; ";")) (labeled_statement "LAB_0001f330:\n        if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" (statement_identifier "LAB_0001f330") (: ":") (if_statement "if (uVar23 != uVar15) {\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" (if "if") (parenthesized_expression "(uVar23 != uVar15)" (( "(") (binary_expression "uVar23 != uVar15" (identifier "uVar23") (!= "!=") (identifier "uVar15")) () ")")) (compound_statement "{\n          if (uVar15 == 0) goto LAB_0001f34c;\nLAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);\n          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);\n          goto LAB_0001f390;\n        }" ({ "{") (if_statement "if (uVar15 == 0) goto LAB_0001f34c;" (if "if") (parenthesized_expression "(uVar15 == 0)" (( "(") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001f34c;" (goto "goto") (statement_identifier "LAB_0001f34c") (; ";"))) (labeled_statement "LAB_0001f358:\n          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" (statement_identifier "LAB_0001f358") (: ":") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar8,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,puVar8,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar8") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" (identifier "complain") (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23)" (( "(") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8")) (, ",") (number_literal "0x800") (, ",") (identifier "uVar10") (, ",") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (, ",") (identifier "uVar15") (, ",") (identifier "uVar23") () ")"))) (; ";")) (goto_statement "goto LAB_0001f390;" (goto "goto") (statement_identifier "LAB_0001f390") (; ";")) (} "}")))) (labeled_statement "LAB_0001f394:\n        puVar6 = PTR_states_0008d7f8;" (statement_identifier "LAB_0001f394") (: ":") (expression_statement "puVar6 = PTR_states_0008d7f8;" (assignment_expression "puVar6 = PTR_states_0008d7f8" (identifier "puVar6") (= "=") (identifier "PTR_states_0008d7f8")) (; ";"))) (expression_statement "puVar3 = PTR_ntokens_0008d77c;" (assignment_expression "puVar3 = PTR_ntokens_0008d77c" (identifier "puVar3") (= "=") (identifier "PTR_ntokens_0008d77c")) (; ";")) (if_statement "if (iVar9 < 1) goto LAB_0001f6ac;" (if "if") (parenthesized_expression "(iVar9 < 1)" (( "(") (binary_expression "iVar9 < 1" (identifier "iVar9") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001f6ac;" (goto "goto") (statement_identifier "LAB_0001f6ac") (; ";"))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        } while (iVar22 < *(int *)puVar2);" (do "do") (compound_statement "{\n          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);\n          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);\n          iVar9 = *piVar24;\n          if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }\n          iVar22 = iVar22 + 1;\n          (*(code *)PTR_bitset_free_0008d794)(piVar11);\n        }" ({ "{") (expression_statement "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);" (assignment_expression "piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" (* "*") (cast_expression "(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc)" (( "(") (binary_expression "*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc" (pointer_expression "*(int *)(*(int *)puVar6 + iVar22 * 4)" (* "*") (cast_expression "(int *)(*(int *)puVar6 + iVar22 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar6 + iVar22 * 4)" (( "(") (binary_expression "*(int *)puVar6 + iVar22 * 4" (pointer_expression "*(int *)puVar6" (* "*") (cast_expression "(int *)puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1)" (parenthesized_expression "(*(code *)PTR_bitset_create_0008d78c)" (( "(") (pointer_expression "*(code *)PTR_bitset_create_0008d78c" (* "*") (cast_expression "(code *)PTR_bitset_create_0008d78c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bitset_create_0008d78c"))) () ")")) (argument_list "(*(undefined4 *)puVar3,1)" (( "(") (pointer_expression "*(undefined4 *)puVar3" (* "*") (cast_expression "(undefined4 *)puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" (identifier "iVar9") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (if_statement "if (0 < iVar9) {\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" (if "if") (parenthesized_expression "(0 < iVar9)" (( "(") (binary_expression "0 < iVar9" (number_literal "0") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n            iVar13 = 0;\n            iVar20 = 0;\n            piVar25 = piVar24 + 2;\n            do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);\nLAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;\n          }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar25 = piVar24 + 2;" (assignment_expression "piVar25 = piVar24 + 2" (identifier "piVar25") (= "=") (binary_expression "piVar24 + 2" (identifier "piVar24") (+ "+") (number_literal "2"))) (; ";")) (do_statement "do {\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            } while (iVar20 < iVar9);" (do "do") (compound_statement "{\n              while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }\n              iVar17 = 0;\n              piVar26 = piVar24 + 2;\n              do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);\n              iVar20 = iVar20 + 1;\n              piVar25 = piVar25 + 1;\n            }" ({ "{") (while_statement "while (puVar19 != (undefined4 *)*piVar25) {\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" (while "while") (parenthesized_expression "(puVar19 != (undefined4 *)*piVar25)" (( "(") (binary_expression "puVar19 != (undefined4 *)*piVar25" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)*piVar25" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar25" (* "*") (identifier "piVar25")))) () ")")) (compound_statement "{\n                iVar20 = iVar20 + 1;\n                piVar25 = piVar25 + 1;\n                if (iVar9 <= iVar20) goto LAB_0001f4c0;\n              }" ({ "{") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" (identifier "piVar25") (= "=") (binary_expression "piVar25 + 1" (identifier "piVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 <= iVar20) goto LAB_0001f4c0;" (if "if") (parenthesized_expression "(iVar9 <= iVar20)" (( "(") (binary_expression "iVar9 <= iVar20" (identifier "iVar9") (<= "<=") (identifier "iVar20")) () ")")) (goto_statement "goto LAB_0001f4c0;" (goto "goto") (statement_identifier "LAB_0001f4c0") (; ";"))) (} "}"))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar26 = piVar24 + 2;" (assignment_expression "piVar26 = piVar24 + 2" (identifier "piVar26") (= "=") (binary_expression "piVar24 + 2" (identifier "piVar24") (+ "+") (number_literal "2"))) (; ";")) (do_statement "do {\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              } while (iVar17 < iVar9);" (do "do") (compound_statement "{\n                iVar14 = iVar17 * 4;\n                iVar17 = iVar17 + 1;\n                if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }\n                piVar26 = piVar26 + 1;\n              }" ({ "{") (expression_statement "iVar14 = iVar17 * 4;" (assignment_expression "iVar14 = iVar17 * 4" (identifier "iVar14") (= "=") (binary_expression "iVar17 * 4" (identifier "iVar17") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar19 != (undefined4 *)*piVar26) {\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)*piVar26)" (( "(") (binary_expression "puVar19 != (undefined4 *)*piVar26" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)*piVar26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")))) () ")")) (compound_statement "{\n                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);\n                  (**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));\n                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);\n                  iVar9 = *piVar24;\n                  iVar13 = iVar13 + iVar14;\n                }" ({ "{") (expression_statement "piVar16 = *(int **)(piVar24[1] + iVar20 * 4);" (assignment_expression "piVar16 = *(int **)(piVar24[1] + iVar20 * 4)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(piVar24[1] + iVar20 * 4)" (* "*") (cast_expression "(int **)(piVar24[1] + iVar20 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar24[1] + iVar20 * 4)" (( "(") (binary_expression "piVar24[1] + iVar20 * 4" (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "iVar20 * 4" (identifier "iVar20") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));" (call_expression "(**(code **)(*piVar16 + 0x3c))\n                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" (parenthesized_expression "(**(code **)(*piVar16 + 0x3c))" (( "(") (pointer_expression "**(code **)(*piVar16 + 0x3c)" (* "*") (pointer_expression "*(code **)(*piVar16 + 0x3c)" (* "*") (cast_expression "(code **)(*piVar16 + 0x3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar16 + 0x3c)" (( "(") (binary_expression "*piVar16 + 0x3c" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (argument_list "(piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14))" (( "(") (identifier "piVar11") (, ",") (identifier "piVar16") (, ",") (pointer_expression "*(undefined4 *)(piVar24[1] + iVar14)" (* "*") (cast_expression "(undefined4 *)(piVar24[1] + iVar14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar24[1] + iVar14)" (( "(") (binary_expression "piVar24[1] + iVar14" (subscript_expression "piVar24[1]" (identifier "piVar24") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar14")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);" (assignment_expression "iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(*piVar11 + 0x18))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar11 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar11 + 0x18)" (* "*") (cast_expression "(code **)(*piVar11 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar11 + 0x18)" (( "(") (binary_expression "*piVar11 + 0x18" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")")))) (; ";")) (expression_statement "iVar9 = *piVar24;" (assignment_expression "iVar9 = *piVar24" (identifier "iVar9") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (expression_statement "iVar13 = iVar13 + iVar14;" (assignment_expression "iVar13 = iVar13 + iVar14" (identifier "iVar13") (= "=") (binary_expression "iVar13 + iVar14" (identifier "iVar13") (+ "+") (identifier "iVar14"))) (; ";")) (} "}"))) (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 "(iVar17 < iVar9)" (( "(") (binary_expression "iVar17 < iVar9" (identifier "iVar17") (< "<") (identifier "iVar9")) () ")")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar25 = piVar25 + 1;" (assignment_expression "piVar25 = piVar25 + 1" (identifier "piVar25") (= "=") (binary_expression "piVar25 + 1" (identifier "piVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 < iVar9)" (( "(") (binary_expression "iVar20 < iVar9" (identifier "iVar20") (< "<") (identifier "iVar9")) () ")")) (; ";")) (labeled_statement "LAB_0001f4c0:\n            uVar23 = uVar23 + iVar13;" (statement_identifier "LAB_0001f4c0") (: ":") (expression_statement "uVar23 = uVar23 + iVar13;" (assignment_expression "uVar23 = uVar23 + iVar13" (identifier "uVar23") (= "=") (binary_expression "uVar23 + iVar13" (identifier "uVar23") (+ "+") (identifier "iVar13"))) (; ";"))) (} "}"))) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR_bitset_free_0008d794)(piVar11);" (call_expression "(*(code *)PTR_bitset_free_0008d794)(piVar11)" (parenthesized_expression "(*(code *)PTR_bitset_free_0008d794)" (( "(") (pointer_expression "*(code *)PTR_bitset_free_0008d794" (* "*") (cast_expression "(code *)PTR_bitset_free_0008d794" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bitset_free_0008d794"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar22 < *(int *)puVar2)" (( "(") (binary_expression "iVar22 < *(int *)puVar2" (identifier "iVar22") (< "<") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (; ";")) (if_statement "if (uVar21 == uVar23) goto LAB_0001f544;" (if "if") (parenthesized_expression "(uVar21 == uVar23)" (( "(") (binary_expression "uVar21 == uVar23" (identifier "uVar21") (== "==") (identifier "uVar23")) () ")")) (goto_statement "goto LAB_0001f544;" (goto "goto") (statement_identifier "LAB_0001f544") (; ";"))) (if_statement "if (uVar23 == 0) goto LAB_0001f4fc;" (if "if") (parenthesized_expression "(uVar23 == 0)" (( "(") (binary_expression "uVar23 == 0" (identifier "uVar23") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001f4fc;" (goto "goto") (statement_identifier "LAB_0001f4fc") (; ";"))) (labeled_statement "LAB_0001f508:\n        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" (statement_identifier "LAB_0001f508") (: ":") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,puVar7,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,puVar7,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar7") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);" (call_expression "complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" (identifier "complain") (argument_list "(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21)" (( "(") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8")) (, ",") (number_literal "0x800") (, ",") (identifier "uVar10") (, ",") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (, ",") (identifier "uVar23") (, ",") (identifier "uVar21") () ")"))) (; ";")) (goto_statement "goto LAB_0001f544;" (goto "goto") (statement_identifier "LAB_0001f544") (; ";")) (} "}"))) (if_statement "if (uVar23 != 0) {\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" (if "if") (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }\nLAB_0001f390:\n        iVar9 = *(int *)puVar2;\n        goto LAB_0001f394;\n      }" ({ "{") (labeled_statement "LAB_0001f34c:\n        if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" (statement_identifier "LAB_0001f34c") (: ":") (if_statement "if (uVar23 != 0xffffffff) {\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" (if "if") (parenthesized_expression "(uVar23 != 0xffffffff)" (( "(") (binary_expression "uVar23 != 0xffffffff" (identifier "uVar23") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          uVar15 = 0;\n          goto LAB_0001f358;\n        }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001f358;" (goto "goto") (statement_identifier "LAB_0001f358") (; ";")) (} "}")))) (labeled_statement "LAB_0001f390:\n        iVar9 = *(int *)puVar2;" (statement_identifier "LAB_0001f390") (: ":") (expression_statement "iVar9 = *(int *)puVar2;" (assignment_expression "iVar9 = *(int *)puVar2" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";"))) (goto_statement "goto LAB_0001f394;" (goto "goto") (statement_identifier "LAB_0001f394") (; ";")) (} "}"))) (labeled_statement "LAB_0001f6ac:\n      if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" (statement_identifier "LAB_0001f6ac") (: ":") (if_statement "if (uVar21 != 0) {\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" (if "if") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;\n        uVar23 = 0;\n        goto LAB_0001f508;\n      }" ({ "{") (labeled_statement "LAB_0001f4fc:\n        if (uVar21 == 0xffffffff) goto LAB_0001f544;" (statement_identifier "LAB_0001f4fc") (: ":") (if_statement "if (uVar21 == 0xffffffff) goto LAB_0001f544;" (if "if") (parenthesized_expression "(uVar21 == 0xffffffff)" (( "(") (binary_expression "uVar21 == 0xffffffff" (identifier "uVar21") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0001f544;" (goto "goto") (statement_identifier "LAB_0001f544") (; ";")))) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001f508;" (goto "goto") (statement_identifier "LAB_0001f508") (; ";")) (} "}")))) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" (identifier "local_5c") (= "=") (binary_expression "local_5c + 1" (identifier "local_5c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_60 = local_60 + 0x60;" (assignment_expression "local_60 = local_60 + 0x60" (identifier "local_60") (= "=") (binary_expression "local_60 + 0x60" (identifier "local_60") (+ "+") (number_literal "0x60"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_5c < *(int *)puVar5)" (( "(") (binary_expression "local_5c < *(int *)puVar5" (identifier "local_5c") (< "<") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0001f568:\n  puVar1 = PTR_expected_rr_conflicts_0008d86c;" (statement_identifier "LAB_0001f568") (: ":") (expression_statement "puVar1 = PTR_expected_rr_conflicts_0008d86c;" (assignment_expression "puVar1 = PTR_expected_rr_conflicts_0008d86c" (identifier "puVar1") (= "=") (identifier "PTR_expected_rr_conflicts_0008d86c")) (; ";"))) (if_statement "if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" (if "if") (parenthesized_expression "((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1))" (( "(") (binary_expression "(*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" (parenthesized_expression "(*PTR_glr_parser_0008d868 == '\0')" (( "(") (binary_expression "*PTR_glr_parser_0008d868 == '\0'" (pointer_expression "*PTR_glr_parser_0008d868" (* "*") (identifier "PTR_glr_parser_0008d868")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_expected_rr_conflicts_0008d86c != -1)" (( "(") (binary_expression "*(int *)PTR_expected_rr_conflicts_0008d86c != -1" (pointer_expression "*(int *)PTR_expected_rr_conflicts_0008d86c" (* "*") (cast_expression "(int *)PTR_expected_rr_conflicts_0008d86c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_expected_rr_conflicts_0008d86c"))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);\n    complain(0,0x80,uVar10);\n    *(undefined4 *)puVar1 = 0xffffffff;\n  }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,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 + 0x1cec,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1cec" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1cec")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "complain(0,0x80,uVar10);" (call_expression "complain(0,0x80,uVar10)" (identifier "complain") (argument_list "(0,0x80,uVar10)" (( "(") (number_literal "0") (, ",") (number_literal "0x80") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "*(undefined4 *)puVar1 = 0xffffffff;" (assignment_expression "*(undefined4 *)puVar1 = 0xffffffff" (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "puVar4 = PTR_expected_sr_conflicts_0008d870;" (assignment_expression "puVar4 = PTR_expected_sr_conflicts_0008d870" (identifier "puVar4") (= "=") (identifier "PTR_expected_sr_conflicts_0008d870")) (; ";")) (expression_statement "iVar22 = FUN_0001d730();" (assignment_expression "iVar22 = FUN_0001d730()" (identifier "iVar22") (= "=") (call_expression "FUN_0001d730()" (identifier "FUN_0001d730") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }\n  else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" (if "if") (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1))" (( "(") (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)" (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = 0, *(int *)puVar1 == -1)" (( "(") (comma_expression "iVar9 = 0, *(int *)puVar1 == -1" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (, ",") (binary_expression "*(int *)puVar1 == -1" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (== "==") (number_literal "-1"))) () ")"))) () ")")) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }\n  }" ({ "{") (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" (if "if") (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);\n      complain(0,4,uVar10,iVar22);\n    }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" (( "(") (pointer_expression "*(code *)PTR_dcngettext_0008de3c" (* "*") (cast_expression "(code *)PTR_dcngettext_0008de3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcngettext_0008de3c"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1d60" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1d60")) (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1d44" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1d44")) (, ",") (identifier "iVar22") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "complain(0,4,uVar10,iVar22);" (call_expression "complain(0,4,uVar10,iVar22)" (identifier "complain") (argument_list "(0,4,uVar10,iVar22)" (( "(") (number_literal "0") (, ",") (number_literal "4") (, ",") (identifier "uVar10") (, ",") (identifier "iVar22") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" (else "else") (if_statement "if (iVar9 != iVar22) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" (if "if") (parenthesized_expression "(iVar9 != iVar22)" (( "(") (binary_expression "iVar9 != iVar22" (identifier "iVar9") (!= "!=") (identifier "iVar22")) () ")")) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n  }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,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 + 0x1d14,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1d14" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1d14")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" (identifier "complain") (argument_list "(0,0x800,uVar10,iVar22,iVar9)" (( "(") (number_literal "0") (, ",") (number_literal "0x800") (, ",") (identifier "uVar10") (, ",") (identifier "iVar22") (, ",") (identifier "iVar9") () ")"))) (; ";")) (} "}"))))) (expression_statement "iVar22 = FUN_0001d978();" (assignment_expression "iVar22 = FUN_0001d978()" (identifier "iVar22") (= "=") (call_expression "FUN_0001d978()" (identifier "FUN_0001d978") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)puVar1;" (assignment_expression "iVar9 = *(int *)puVar1" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (if_statement "if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }\n  else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" (if "if") (parenthesized_expression "((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1))" (( "(") (binary_expression "(iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)" (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = 0, *(int *)puVar4 == -1)" (( "(") (comma_expression "iVar9 = 0, *(int *)puVar4 == -1" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (, ",") (binary_expression "*(int *)puVar4 == -1" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (== "==") (number_literal "-1"))) () ")"))) () ")")) (compound_statement "{\n    if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }\n  }" ({ "{") (if_statement "if (iVar22 != 0) {\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);\n      complain(0,8,uVar10,iVar22);\n      return;\n    }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcngettext_0008de3c)\n                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" (parenthesized_expression "(*(code *)PTR_dcngettext_0008de3c)" (( "(") (pointer_expression "*(code *)PTR_dcngettext_0008de3c" (* "*") (cast_expression "(code *)PTR_dcngettext_0008de3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcngettext_0008de3c"))) () ")")) (argument_list "(0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1dc8" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1dc8")) (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1dac" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1dac")) (, ",") (identifier "iVar22") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "complain(0,8,uVar10,iVar22);" (call_expression "complain(0,8,uVar10,iVar22)" (identifier "complain") (argument_list "(0,8,uVar10,iVar22)" (( "(") (number_literal "0") (, ",") (number_literal "8") (, ",") (identifier "uVar10") (, ",") (identifier "iVar22") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" (else "else") (if_statement "if (iVar22 != iVar9) {\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar22 != iVar9)" (( "(") (binary_expression "iVar22 != iVar9" (identifier "iVar22") (!= "!=") (identifier "iVar9")) () ")")) (compound_statement "{\n    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);\n    complain(0,0x800,uVar10,iVar22,iVar9);\n    return;\n  }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,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 + 0x1d7c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_0008d628 + 0x1d7c" (identifier "PTR_LAB_0008d628") (+ "+") (number_literal "0x1d7c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "complain(0,0x800,uVar10,iVar22,iVar9);" (call_expression "complain(0,0x800,uVar10,iVar22,iVar9)" (identifier "complain") (argument_list "(0,0x800,uVar10,iVar22,iVar9)" (( "(") (number_literal "0") (, ",") (number_literal "0x800") (, ",") (identifier "uVar10") (, ",") (identifier "iVar22") (, ",") (identifier "iVar9") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *var_6;
  type_1 *puVar2;
  type_1 *puVar3;
  type_1 *puVar4;
  type_1 *puVar5;
  type_1 *puVar6;
  type_1 *puVar7;
  type_1 *puVar8;
  int var_8;
  char *pcVar10;
  int *var_12;
  size_t var_25;
  type_2 var_16;
  int var_17;
  int var_21;
  type_2 var_18;
  int *var_14;
  int var_13;
  type_2 var_15;
  type_3 *var_10;
  int var_11;
  size_t var_24;
  type_2 var_4;
  int var_7;
  type_2 var_3;
  int *var_20;
  int *var_9;
  int *var_22;
  int var_2;
  int var_5;
  
  puVar5 = PTR_nrules_0008d7c8;
  puVar4 = PTR_rules_0008d784;
  var_6 = PTR_saved_sigactions_28__sa_resv_0__0008d618;
  if (0 < *(int *)PTR_nrules_0008d7c8) {
    var_2 = 0;
    var_5 = 0;
    puVar7 = var_1 + 0x1cb0;
    puVar8 = var_1 + 0x1c74;
    do {
      while( true ) {
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        puVar2 = PTR_nstates_0008d698;
        var_10 = (type_3 *)(*(int *)puVar4 + var_2);
        var_3 = var_10[0xf];
        var_4 = var_10[0x10];
        if ((var_3 & var_4) != 0xffffffff) break;
LAB_0001f544:
        var_5 = var_5 + 1;
        var_2 = var_2 + 0x60;
        if (*(int *)puVar5 <= var_5) goto LAB_0001f568;
      }
      if (0 < *(int *)PTR_nstates_0008d698) {
        var_7 = 0;
        var_18 = 0;
        do {
          while (*(char *)(*(int *)(var_6 + -0x1ea0) + var_7) == '\0') {
LAB_0001f1f0:
            var_8 = *(int *)puVar2;
            var_7 = var_7 + 1;
            if (var_8 <= var_7) goto LAB_0001f330;
          }
          var_8 = *(int *)(*(int *)puVar6 + var_7 * 4);
          var_9 = *(int **)(var_8 + 0xc);
          var_20 = *(int **)(var_8 + 8);
          var_8 = *var_9;
          var_12 = var_9 + 2;
          if (var_8 < 1) goto LAB_0001f1f0;
          var_17 = 0;
          var_11 = 0;
          do {
            while (var_10 != (type_3 *)*var_12) {
LAB_0001f25c:
              var_11 = var_11 + 1;
              var_12 = var_12 + 1;
              if (var_8 <= var_11) goto LAB_0001f314;
            }
            var_13 = *var_20;
            var_22 = *(int **)(var_9[1] + var_11 * 4);
            if (var_13 < 1) goto LAB_0001f25c;
            var_8 = 0;
            var_14 = var_20;
            do {
              var_14 = var_14 + 1;
              if (*var_14 != 0) {
                var_15 = *(type_2 *)(*var_14 + 4);
                if (*(int *)puVar3 <= (int)var_15) break;
                var_16 = (var_15 >> 5) - var_22[1];
                if (var_16 < (type_2)var_22[2]) {
                  var_15 = *(type_2 *)(var_22[3] + var_16 * 4) >> (var_15 & 0x1f) & 1;
                }
                else {
                  var_15 = (**(type_4 **)(*var_22 + 0xc))(var_22,var_15);
                  var_13 = *var_20;
                }
                var_17 = var_17 + var_15;
              }
              var_8 = var_8 + 1;
            } while (var_8 < var_13);
            var_8 = *var_9;
            var_11 = var_11 + 1;
            var_12 = var_12 + 1;
          } while (var_11 < var_8);
LAB_0001f314:
          var_8 = *(int *)puVar2;
          var_7 = var_7 + 1;
          var_18 = var_18 + var_17;
        } while (var_7 < var_8);
LAB_0001f330:
        if (var_3 != var_18) {
          if (var_18 == 0) goto LAB_0001f34c;
LAB_0001f358:
          pcVar10 = (char *)(*(type_4 *)PTR_dcgettext_0008df70)(0,puVar8,5);
          var_19((type_5 *)(var_10 + 8),complaint,pcVar10,*var_10,var_18,var_3);
          goto LAB_0001f390;
        }
LAB_0001f394:
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        if (var_8 < 1) goto LAB_0001f6ac;
        var_3 = 0;
        var_7 = 0;
        do {
          var_20 = *(int **)(*(int *)(*(int *)puVar6 + var_7 * 4) + 0xc);
          var_12 = (int *)(*(type_4 *)PTR_bitset_create_0008d78c)(*(type_3 *)puVar3,1);
          var_8 = *var_20;
          if (0 < var_8) {
            var_17 = 0;
            var_11 = 0;
            var_9 = var_20 + 2;
            do {
              while (var_10 != (type_3 *)*var_9) {
                var_11 = var_11 + 1;
                var_9 = var_9 + 1;
                if (var_8 <= var_11) goto LAB_0001f4c0;
              }
              var_13 = 0;
              var_22 = var_20 + 2;
              do {
                var_21 = var_13 * 4;
                var_13 = var_13 + 1;
                if (var_10 != (type_3 *)*var_22) {
                  var_14 = *(int **)(var_20[1] + var_11 * 4);
                  (**(type_4 **)(*var_14 + 0x3c))
                            (var_12,var_14,*(type_3 *)(var_20[1] + var_21));
                  var_21 = (**(type_4 **)(*var_12 + 0x18))(var_12);
                  var_8 = *var_20;
                  var_17 = var_17 + var_21;
                }
                var_22 = var_22 + 1;
              } while (var_13 < var_8);
              var_11 = var_11 + 1;
              var_9 = var_9 + 1;
            } while (var_11 < var_8);
LAB_0001f4c0:
            var_3 = var_3 + var_17;
          }
          var_7 = var_7 + 1;
          (*(type_4 *)PTR_bitset_free_0008d794)(var_12);
        } while (var_7 < *(int *)puVar2);
        if (var_4 == var_3) goto LAB_0001f544;
        if (var_3 == 0) goto LAB_0001f4fc;
LAB_0001f508:
        pcVar10 = (char *)(*(type_4 *)PTR_dcgettext_0008df70)(0,puVar7,5);
        var_19((type_5 *)(var_10 + 8),complaint,pcVar10,*var_10,var_3,var_4);
        goto LAB_0001f544;
      }
      if (var_3 != 0) {
LAB_0001f34c:
        if (var_3 != 0xffffffff) {
          var_18 = 0;
          goto LAB_0001f358;
        }
LAB_0001f390:
        var_8 = *(int *)puVar2;
        goto LAB_0001f394;
      }
LAB_0001f6ac:
      if (var_4 != 0) {
LAB_0001f4fc:
        if (var_4 == 0xffffffff) goto LAB_0001f544;
        var_3 = 0;
        goto LAB_0001f508;
      }
      var_5 = var_5 + 1;
      var_2 = var_2 + 0x60;
    } while (var_5 < *(int *)puVar5);
  }
LAB_0001f568:
  var_6 = PTR_expected_rr_conflicts_0008d86c;
  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {
    pcVar10 = (char *)(*(type_4 *)PTR_dcgettext_0008df70)(0,var_1 + 0x1cec,5);
    var_19((type_5 *)0x0,Wother,pcVar10);
    *(type_3 *)var_6 = 0xffffffff;
  }
  puVar4 = PTR_expected_sr_conflicts_0008d870;
  var_25 = var_23();
  var_24 = *(size_t *)puVar4;
  if ((var_24 == 0xffffffff) && (var_24 = 0, *(int *)var_6 == -1)) {
    if (var_25 != 0) {
      pcVar10 = (char *)(*(type_4 *)PTR_dcngettext_0008de3c)
                                  (0,var_1 + 0x1d60,var_1 + 0x1d44,var_25,5);
      var_19((type_5 *)0x0,Wconflicts_sr,pcVar10,var_25);
    }
  }
  else if (var_24 != var_25) {
    pcVar10 = (char *)(*(type_4 *)PTR_dcgettext_0008df70)(0,var_1 + 0x1d14,5);
    var_19((type_5 *)0x0,complaint,pcVar10,var_25,var_24);
  }
  var_25 = var_26();
  var_24 = *(size_t *)var_6;
  if ((var_24 == 0xffffffff) && (var_24 = 0, *(int *)puVar4 == -1)) {
    if (var_25 != 0) {
      pcVar10 = (char *)(*(type_4 *)PTR_dcngettext_0008de3c)
                                  (0,var_1 + 0x1dc8,var_1 + 0x1dac,var_25,5);
      var_19((type_5 *)0x0,Wconflicts_rr,pcVar10,var_25);
      return;
    }
  }
  else if (var_25 != var_24) {
    pcVar10 = (char *)(*(type_4 *)PTR_dcgettext_0008df70)(0,var_1 + 0x1d7c,5);
    var_19((type_5 *)0x0,complaint,pcVar10,var_25,var_24);
    return;
  }
  return;
}


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

void MASKED(void)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  uint uVar12;
  int iVar13;
  int iVar14;
  uint uVar15;
  int *piVar16;
  int iVar17;
  uint uVar18;
  undefined4 *puVar19;
  int iVar20;
  uint uVar21;
  int iVar22;
  uint uVar23;
  int *piVar24;
  int *piVar25;
  int *piVar26;
  int local_60;
  int local_5c;
  
  puVar5 = PTR_nrules_0008d7c8;
  puVar4 = PTR_rules_0008d784;
  puVar1 = PTR_DAT_0008d618;
  if (0 < *(int *)PTR_nrules_0008d7c8) {
    local_60 = 0;
    local_5c = 0;
    puVar7 = PTR_LAB_0008d628 + 0x1cb0;
    puVar8 = PTR_LAB_0008d628 + 0x1c74;
    do {
      while( true ) {
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        puVar2 = PTR_nstates_0008d698;
        puVar19 = (undefined4 *)(*(int *)puVar4 + local_60);
        uVar23 = puVar19[0xf];
        uVar21 = puVar19[0x10];
        if ((uVar23 & uVar21) != 0xffffffff) break;
LAB_0001f544:
        local_5c = local_5c + 1;
        local_60 = local_60 + 0x60;
        if (*(int *)puVar5 <= local_5c) goto LAB_0001f568;
      }
      if (0 < *(int *)PTR_nstates_0008d698) {
        iVar22 = 0;
        uVar15 = 0;
        do {
          while (*(char *)(*(int *)(puVar1 + -0x1ea0) + iVar22) == '\0') {
LAB_0001f1f0:
            iVar9 = *(int *)puVar2;
            iVar22 = iVar22 + 1;
            if (iVar9 <= iVar22) goto LAB_0001f330;
          }
          iVar9 = *(int *)(*(int *)puVar6 + iVar22 * 4);
          piVar25 = *(int **)(iVar9 + 0xc);
          piVar24 = *(int **)(iVar9 + 8);
          iVar9 = *piVar25;
          piVar11 = piVar25 + 2;
          if (iVar9 < 1) goto LAB_0001f1f0;
          iVar13 = 0;
          iVar20 = 0;
          do {
            while (puVar19 != (undefined4 *)*piVar11) {
LAB_0001f25c:
              iVar20 = iVar20 + 1;
              piVar11 = piVar11 + 1;
              if (iVar9 <= iVar20) goto LAB_0001f314;
            }
            iVar17 = *piVar24;
            piVar26 = *(int **)(piVar25[1] + iVar20 * 4);
            if (iVar17 < 1) goto LAB_0001f25c;
            iVar9 = 0;
            piVar16 = piVar24;
            do {
              piVar16 = piVar16 + 1;
              if (*piVar16 != 0) {
                uVar18 = *(uint *)(*piVar16 + 4);
                if (*(int *)puVar3 <= (int)uVar18) break;
                uVar12 = (uVar18 >> 5) - piVar26[1];
                if (uVar12 < (uint)piVar26[2]) {
                  uVar18 = *(uint *)(piVar26[3] + uVar12 * 4) >> (uVar18 & 0x1f) & 1;
                }
                else {
                  uVar18 = (**(code **)(*piVar26 + 0xc))(piVar26,uVar18);
                  iVar17 = *piVar24;
                }
                iVar13 = iVar13 + uVar18;
              }
              iVar9 = iVar9 + 1;
            } while (iVar9 < iVar17);
            iVar9 = *piVar25;
            iVar20 = iVar20 + 1;
            piVar11 = piVar11 + 1;
          } while (iVar20 < iVar9);
LAB_0001f314:
          iVar9 = *(int *)puVar2;
          iVar22 = iVar22 + 1;
          uVar15 = uVar15 + iVar13;
        } while (iVar22 < iVar9);
LAB_0001f330:
        if (uVar23 != uVar15) {
          if (uVar15 == 0) goto LAB_0001f34c;
LAB_0001f358:
          uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar8,5);
          complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar15,uVar23);
          goto LAB_0001f390;
        }
LAB_0001f394:
        puVar6 = PTR_states_0008d7f8;
        puVar3 = PTR_ntokens_0008d77c;
        if (iVar9 < 1) goto LAB_0001f6ac;
        uVar23 = 0;
        iVar22 = 0;
        do {
          piVar24 = *(int **)(*(int *)(*(int *)puVar6 + iVar22 * 4) + 0xc);
          piVar11 = (int *)(*(code *)PTR_bitset_create_0008d78c)(*(undefined4 *)puVar3,1);
          iVar9 = *piVar24;
          if (0 < iVar9) {
            iVar13 = 0;
            iVar20 = 0;
            piVar25 = piVar24 + 2;
            do {
              while (puVar19 != (undefined4 *)*piVar25) {
                iVar20 = iVar20 + 1;
                piVar25 = piVar25 + 1;
                if (iVar9 <= iVar20) goto LAB_0001f4c0;
              }
              iVar17 = 0;
              piVar26 = piVar24 + 2;
              do {
                iVar14 = iVar17 * 4;
                iVar17 = iVar17 + 1;
                if (puVar19 != (undefined4 *)*piVar26) {
                  piVar16 = *(int **)(piVar24[1] + iVar20 * 4);
                  (**(code **)(*piVar16 + 0x3c))
                            (piVar11,piVar16,*(undefined4 *)(piVar24[1] + iVar14));
                  iVar14 = (**(code **)(*piVar11 + 0x18))(piVar11);
                  iVar9 = *piVar24;
                  iVar13 = iVar13 + iVar14;
                }
                piVar26 = piVar26 + 1;
              } while (iVar17 < iVar9);
              iVar20 = iVar20 + 1;
              piVar25 = piVar25 + 1;
            } while (iVar20 < iVar9);
LAB_0001f4c0:
            uVar23 = uVar23 + iVar13;
          }
          iVar22 = iVar22 + 1;
          (*(code *)PTR_bitset_free_0008d794)(piVar11);
        } while (iVar22 < *(int *)puVar2);
        if (uVar21 == uVar23) goto LAB_0001f544;
        if (uVar23 == 0) goto LAB_0001f4fc;
LAB_0001f508:
        uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,puVar7,5);
        complain(puVar19 + 8,0x800,uVar10,*puVar19,uVar23,uVar21);
        goto LAB_0001f544;
      }
      if (uVar23 != 0) {
LAB_0001f34c:
        if (uVar23 != 0xffffffff) {
          uVar15 = 0;
          goto LAB_0001f358;
        }
LAB_0001f390:
        iVar9 = *(int *)puVar2;
        goto LAB_0001f394;
      }
LAB_0001f6ac:
      if (uVar21 != 0) {
LAB_0001f4fc:
        if (uVar21 == 0xffffffff) goto LAB_0001f544;
        uVar23 = 0;
        goto LAB_0001f508;
      }
      local_5c = local_5c + 1;
      local_60 = local_60 + 0x60;
    } while (local_5c < *(int *)puVar5);
  }
LAB_0001f568:
  puVar1 = PTR_expected_rr_conflicts_0008d86c;
  if ((*PTR_glr_parser_0008d868 == '\0') && (*(int *)PTR_expected_rr_conflicts_0008d86c != -1)) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1cec,5);
    complain(0,0x80,uVar10);
    *(undefined4 *)puVar1 = 0xffffffff;
  }
  puVar4 = PTR_expected_sr_conflicts_0008d870;
  iVar22 = FUN_0001d730();
  iVar9 = *(int *)puVar4;
  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar1 == -1)) {
    if (iVar22 != 0) {
      uVar10 = (*(code *)PTR_dcngettext_0008de3c)
                         (0,PTR_LAB_0008d628 + 0x1d60,PTR_LAB_0008d628 + 0x1d44,iVar22,5);
      complain(0,4,uVar10,iVar22);
    }
  }
  else if (iVar9 != iVar22) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d14,5);
    complain(0,0x800,uVar10,iVar22,iVar9);
  }
  iVar22 = FUN_0001d978();
  iVar9 = *(int *)puVar1;
  if ((iVar9 == -1) && (iVar9 = 0, *(int *)puVar4 == -1)) {
    if (iVar22 != 0) {
      uVar10 = (*(code *)PTR_dcngettext_0008de3c)
                         (0,PTR_LAB_0008d628 + 0x1dc8,PTR_LAB_0008d628 + 0x1dac,iVar22,5);
      complain(0,8,uVar10,iVar22);
      return;
    }
  }
  else if (iVar22 != iVar9) {
    uVar10 = (*(code *)PTR_dcgettext_0008df70)(0,PTR_LAB_0008d628 + 0x1d7c,5);
    complain(0,0x800,uVar10,iVar22,iVar9);
    return;
  }
  return;
}

