
/* WARNING: Removing unreachable block (ram,0x00015a7c) */

int process_flags(char *arg,flags_t *fp)

{
  _Bool _Var1;
  char cVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  bool bVar6;
  char cVar7;
  longlong lVar8;
  char *pcVar9;
  int iVar10;
  flags_t *pfVar11;
  flags_t *pfVar12;
  flags_t *pfVar13;
  flags_t *pfVar14;
  int iVar15;
  uint uVar16;
  int iVar17;
  int *piVar18;
  int iVar19;
  undefined4 uVar20;
  char *pcVar21;
  uint *puVar22;
  int iVar23;
  int iVar24;
  int iVar25;
  int iVar26;
  uint uVar27;
  bool bVar28;
  undefined1 *puVar29;
  int iVar30;
  undefined4 in_a3;
  undefined1 write_true;
  uint uVar31;
  flags_t *pfVar32;
  int iVar33;
  flags_t *unaff_s1;
  uint8_t *puVar34;
  flags_t *unaff_s3;
  int iVar35;
  undefined *unaff_s4;
  flags_t *unaff_s5;
  int iVar36;
  flags_t *unaff_s6;
  flags_t *unaff_s7;
  int iVar37;
  undefined *puVar38;
  flags_t *unaff_s8;
  code *pcVar39;
  code *pcVar40;
  uint uVar41;
  longlong lVar42;
  longlong lVar43;
  longlong from_block;
  uint8_t *puStack_113c;
  flags_t *pfStack_1138;
  int iStack_1134;
  uint uStack_112c;
  int iStack_1128;
  uint uStack_1124;
  int iStack_1120;
  uint uStack_111c;
  int iStack_1110;
  int iStack_110c;
  uint uStack_1108;
  int iStack_10fc;
  int iStack_10f4;
  char cStack_10d5;
  int iStack_10d4;
  uint uStack_10d0;
  int iStack_10cc;
  int iStack_10c8;
  undefined4 uStack_10c4;
  flags_t *pfStack_10c0;
  uint uStack_10bc;
  flags_t *pfStack_10b8;
  uint uStack_10b4;
  undefined4 uStack_10b0;
  undefined4 uStack_10ac;
  int aiStack_10a4 [2];
  undefined1 uStack_109c;
  undefined1 uStack_109b;
  undefined1 auStack_109a [2];
  int iStack_1098;
  uint8_t *puStack_1094;
  undefined1 *puStack_1090;
  flags_t *pfStack_108c;
  undefined4 uStack_1088;
  undefined4 uStack_1084;
  undefined4 uStack_1080;
  undefined4 uStack_106c;
  undefined1 uStack_1064;
  byte bStack_1063;
  undefined1 auStack_105c [9];
  undefined1 auStack_1053 [17];
  undefined1 auStack_1042 [6];
  undefined1 auStack_103c [16];
  _Bool a_Stack_102c [512];
  _Bool a_Stack_e2c [512];
  char acStack_c2c [512];
  flags_t afStack_a2c [7];
  undefined1 uStack_92d;
  char cStack_72c;
  char acStack_72b [1022];
  undefined1 uStack_32d;
  int iStack_32c;
  flags_t *pfStack_328;
  undefined1 *puStack_324;
  undefined4 uStack_320;
  undefined1 *puStack_31c;
  int iStack_318;
  uint uStack_314;
  flags_t *pfStack_310;
  int iStack_30c;
  uint uStack_308;
  code *pcStack_304;
  undefined1 *puStack_2f0;
  undefined1 *puStack_2e8;
  uint uStack_2e4;
  uint uStack_2e0;
  undefined4 *puStack_2dc;
  code *pcStack_2d8;
  flags_t *pfStack_2d0;
  code *pcStack_2cc;
  int iStack_2c8;
  undefined1 *puStack_2c4;
  int *piStack_2c0;
  int iStack_2bc;
  int iStack_2b8;
  int iStack_2b4;
  int iStack_2b0;
  int iStack_2ac;
  int iStack_2a8;
  undefined4 uStack_298;
  undefined4 uStack_294;
  int iStack_28c;
  flags_t *pfStack_288;
  flags_t *pfStack_284;
  flags_t *pfStack_280;
  flags_t *pfStack_27c;
  undefined *puStack_278;
  undefined1 *puStack_270;
  flags_t *pfStack_26c;
  int iStack_268;
  code *pcStack_264;
  int iStack_260;
  flags_t *pfStack_258;
  undefined1 *puVar44;
  undefined1 *puVar45;
  int *piStack_23c;
  flags_t fStack_21c;
  undefined4 uStack_1fc;
  byte bStack_1ed;
  flags_t *pfStack_1e4;
  uint8_t auStack_1dc [16];
  flags_t afStack_1cc [2];
  int iStack_18c;
  flags_t *pfStack_188;
  flags_t *pfStack_184;
  flags_t *pfStack_180;
  flags_t *pfStack_17c;
  undefined *puStack_178;
  flags_t *pfStack_174;
  flags_t *pfStack_170;
  flags_t *pfStack_16c;
  flags_t *pfStack_168;
  code *pcStack_164;
  undefined1 *puStack_158;
  undefined4 uStack_14c;
  int iStack_148;
  flags_t *local_144;
  flags_t *local_140;
  char buff [256];
  
  iVar10 = *(int *)PTR___stack_chk_guard_0002b138;
  puVar29 = (undefined1 *)0x100;
  (*(code *)PTR_strncpy_0002b0d4)(buff);
  write_true = (undefined1)in_a3;
  buff[0xff] = '\0';
  pfVar32 = (flags_t *)buff;
  if (buff[0] == '\0') {
    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);
    iVar15 = 1;
  }
  else {
    unaff_s3 = (flags_t *)(PTR_DAT_0002b068 + -0x6d84);
    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;
    unaff_s5 = (flags_t *)(PTR_DAT_0002b068 + -0x5680);
    unaff_s6 = (flags_t *)(PTR_DAT_0002b068 + -0x6d78);
    unaff_s7 = (flags_t *)(PTR_DAT_0002b068 + -0x6d70);
    unaff_s8 = (flags_t *)(PTR_DAT_0002b068 + -0x6d6c);
    local_144 = (flags_t *)(PTR_DAT_0002b068 + -0x6d64);
    local_140 = (flags_t *)(PTR_DAT_0002b068 + -0x6d5c);
    pfVar11 = (flags_t *)(PTR_DAT_0002b068 + -0x6d54);
    pfVar12 = (flags_t *)(PTR_DAT_0002b068 + -0x6d50);
    pfVar13 = (flags_t *)(PTR_DAT_0002b068 + -0x6d48);
    do {
      pfVar14 = (flags_t *)(*(code *)PTR_strchr_0002b100)(pfVar32,0x2c);
      unaff_s1 = pfVar14;
      if (pfVar14 != (flags_t *)0x0) {
        unaff_s1 = (flags_t *)&pfVar14->dio;
        pfVar14->append = false;
      }
      arg = (char *)unaff_s3;
      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
      if (iVar15 == 0) {
        fp->append = true;
      }
      else {
        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32,unaff_s4);
        arg = (char *)unaff_s5;
        if (iVar15 == 0) {
          fp->coe = fp->coe + 1;
        }
        else {
          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
          if (iVar15 == 0) {
            fp->dio = true;
          }
          else {
            arg = (char *)unaff_s6;
            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
            if (iVar15 == 0) {
              fp->direct = true;
            }
            else {
              arg = (char *)unaff_s7;
              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
              if (iVar15 == 0) {
                fp->dpo = true;
              }
              else {
                arg = (char *)unaff_s8;
                iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                if (iVar15 == 0) {
                  fp->dsync = true;
                }
                else {
                  arg = (char *)local_144;
                  iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                  if (iVar15 == 0) {
                    fp->excl = true;
                  }
                  else {
                    arg = (char *)local_140;
                    iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                    if (iVar15 == 0) {
                      fp->flock = true;
                    }
                    else {
                      arg = (char *)pfVar11;
                      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                      if (iVar15 == 0) {
                        fp->fua = true;
                      }
                      else {
                        arg = (char *)pfVar12;
                        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                        if (iVar15 == 0) {
                          fp->nocache = fp->nocache + 1;
                        }
                        else {
                          arg = (char *)pfVar13;
                          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                          if (iVar15 != 0) {
                            arg = PTR_DAT_0002b068 + -0x66cc;
                            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                            if (iVar15 == 0) {
                              fp->sgio = true;
                            }
                            else {
                              arg = PTR_DAT_0002b068 + -0x6d40;
                              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);
                              write_true = (undefined1)in_a3;
                              if (iVar15 != 0) {
                                arg = &pfVar32->append;
                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);
                                iVar15 = 1;
                                goto LAB_0001260c;
                              }
                              fp->sparse = true;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      write_true = (undefined1)in_a3;
      pfVar32 = unaff_s1;
    } while (unaff_s1 != (flags_t *)0x0);
    iVar15 = 0;
  }
LAB_0001260c:
  if (iVar10 == *(int *)PTR___stack_chk_guard_0002b138) {
    return iVar15;
  }
  pcVar39 = sg_read_low;
  puVar38 = PTR___stack_chk_fail_0002b128;
  (*(code *)PTR___stack_chk_fail_0002b128)();
  pfVar12 = (flags_t *)&_gp;
  iStack_18c = **(int **)(puVar38 + 0x18ae0);
  _Var1 = local_144->dpo;
  uVar16 = (uint)local_144->fua;
  puVar45 = (undefined1 *)0x0;
  puVar44 = &_gp;
  pfVar11 = (flags_t *)local_144->cdbsz;
  pfStack_188 = pfVar32;
  pfStack_184 = unaff_s1;
  pfStack_180 = fp;
  pfStack_17c = unaff_s3;
  puStack_178 = unaff_s4;
  pfStack_174 = unaff_s5;
  pfStack_170 = unaff_s6;
  pfStack_16c = unaff_s7;
  pfStack_168 = unaff_s8;
  pcStack_164 = pcVar39;
  puStack_158 = puVar29;
  iVar15 = sg_build_scsi_cdb(auStack_1dc,(int)pfVar11,(uint)puVar29,CONCAT44(&_gp,uStack_14c),
                             (_Bool)write_true,false,local_144->fua);
  if (iVar15 == 0) {
    (**(code **)(puVar38 + 0x18a84))(&fStack_21c.field_0xa,0,0x36);
    fStack_21c.append = false;
    fStack_21c.dio = false;
    fStack_21c.direct = false;
    fStack_21c.dpo = true;
    fStack_21c.sgio = SUB41(local_144->cdbsz,0);
    fStack_21c.nocache = (int)auStack_1dc;
    fStack_21c.dsync = true;
    fStack_21c.excl = true;
    fStack_21c.flock = true;
    fStack_21c.fua = true;
    fStack_21c.cdbsz = (int)puStack_158 * iStack_148;
    fStack_21c.sparse = true;
    fStack_21c.pdt = (int)afStack_1cc;
    fStack_21c.retries = 60000;
    if (local_140 == (flags_t *)0x0) {
LAB_00012788:
      iVar17 = *(int *)(puVar38 + 0x18a00);
    }
    else {
      iVar17 = *(int *)(puVar38 + 0x18a00);
      if (local_140->append != false) {
        uStack_1fc = 1;
        goto LAB_00012788;
      }
    }
    fStack_21c.coe = (int)arg;
    if (2 < *(int *)(iVar17 + -0x4e1c)) {
      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6ce8);
      puVar34 = auStack_1dc;
      if (0 < local_144->cdbsz) {
        iVar36 = *(int *)(puVar38 + 0x18a10);
        iVar17 = 0;
        do {
          (**(code **)(puVar38 + 0x18acc))(iVar36 + -0x6cd8,*puVar34);
          iVar17 = iVar17 + 1;
          puVar34 = puVar34 + 1;
        } while (iVar17 < local_144->cdbsz);
      }
      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6424);
    }
    arg = &fStack_21c.append;
    fp = (flags_t *)0x4;
    unaff_s4 = (undefined *)0xb;
    do {
      pfVar32 = (flags_t *)arg;
      iVar17 = (**(code **)(puVar38 + 0x18ac8))(iVar10,0x2285);
      if (-1 < iVar17) {
        pfVar11 = pfStack_1e4;
        if (2 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {
          (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6cac);
          pfVar11 = pfStack_1e4;
        }
        pfVar13 = (flags_t *)(**(code **)(puVar38 + 0x18a90))(&fStack_21c);
        fp = (flags_t *)fStack_21c.pdt;
        arg = (char *)(uint)bStack_1ed;
        if (pfVar13 < (flags_t *)0x16) {
                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar10 = (*(code *)(puVar38 +
                             *(int *)(*(int *)(puVar38 + 0x18a10) + -0x5530 + (int)pfVar13 * 4) +
                             0x209d8))();
          return iVar10;
        }
        *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) =
             *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) + 1;
        if (0 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {
          pfVar32 = (flags_t *)(*(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c) < 2 ^ 1);
          pfVar11 = &fStack_21c;
          (**(code **)(puVar38 + 0x18a30))(*(int *)(puVar38 + 0x18a10) + -0x61f8);
        }
        goto LAB_0001282c;
      }
      piVar18 = (int *)(**(code **)(puVar38 + 0x18a80))();
      iVar17 = *piVar18;
    } while ((iVar17 == 4) || (pfVar11 = (flags_t *)0x2285, iVar17 == 0xb));
    if (iVar17 == 0xc) {
      pfVar13 = (flags_t *)&SUB_fffffffe;
      pfVar32 = (flags_t *)arg;
    }
    else {
      pfVar32 = (flags_t *)arg;
      (**(code **)(puVar38 + 0x18ac4))(*(int *)(puVar38 + 0x18a10) + -0x6cd0);
      pfVar13 = (flags_t *)0xffffffff;
    }
  }
  else {
    pfVar32 = pfVar12;
    puVar44 = puStack_158;
    (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6d20);
    pfVar13 = (flags_t *)0x1;
  }
LAB_0001282c:
  if (iStack_18c == **(int **)(puVar38 + 0x18ae0)) {
    return (int)pfVar13;
  }
  pcVar39 = *(code **)(puVar38 + 0x18ad0);
  pcVar40 = sg_read;
  iVar10 = iStack_18c;
  (*pcVar39)();
  pcStack_2d8 = pcVar39 + 0x202c8;
  pfStack_26c = local_140;
  puStack_270 = &_gp;
  pfStack_27c = local_144;
  piStack_2c0 = piStack_23c;
  iStack_28c = **(int **)(pcVar39 + 0x183d0);
  iVar17 = *(int *)(uVar16 + 0x1c);
  pfStack_2d0 = pfVar11;
  pfStack_288 = pfVar13;
  pfStack_284 = (flags_t *)arg;
  pfStack_280 = fp;
  puStack_278 = unaff_s4;
  iStack_268 = iVar15;
  pcStack_264 = pcVar40;
  iStack_260 = iVar10;
  pfStack_258 = pfVar32;
  if ((int)pfVar32 < 1) {
    iStack_2c8 = 0;
  }
  else {
    iStack_2b4 = (int)puVar45 << 1;
    iStack_2c8 = 0;
    pcStack_2cc = (code *)(&DAT_00002658 + *(int *)(pcVar39 + 0x182fc));
    iStack_2bc = *(int *)(pcVar39 + 0x18300);
    pfVar12 = (flags_t *)(*(int *)(pcVar39 + 0x18300) + -0x54d8);
    iStack_2b0 = *(int *)(pcVar39 + 0x18300) + -0x5430;
    iStack_2b8 = *(int *)(pcVar39 + 0x18300) + -0x5484;
    puStack_2c4 = puVar45;
    iStack_2ac = iStack_2b4;
    do {
      uStack_294 = 0;
      uStack_298 = 0;
      puStack_2dc = &uStack_298;
      pfVar11 = pfStack_2d0;
      puStack_2f0 = puVar44;
      puStack_2e8 = puVar45;
      uStack_2e4 = uVar16;
      uStack_2e0 = (uint)_Var1;
      iVar10 = (*pcStack_2cc)(iStack_260,pfStack_2d0,pfVar32);
      if (iVar10 + 2U < 0x15) {
                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        iVar10 = (*(pcStack_2d8 + *(int *)(&pfVar12->sgio + iVar10 * 4)))();
        return iVar10;
      }
      iStack_2a8 = 0;
      if (iVar17 < 1) {
        if (*(int *)(uVar16 + 0x10) == 0) {
          if (iVar10 == 0) {
            iVar10 = -1;
          }
        }
        else {
          puVar45 = (undefined1 *)((int)puVar45 * (int)pfVar32);
          pfVar11 = (flags_t *)0x0;
          (**(code **)(pcStack_2d8 + -0x7f54))(pfStack_2d0,0,puVar45);
          puStack_2f0 = puVar45;
          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);
          if (1 < (int)pfVar32) {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);
          }
          if (piStack_2c0 != (int *)0x0) {
            pfVar32 = (flags_t *)(&pfVar32->append + iStack_2c8);
            *piStack_2c0 = (int)pfVar32;
          }
          iVar15 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);
          if ((iVar15 < 1) ||
             (iVar36 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar36, iVar36 <= iVar15)) {
            if (iStack_2a8 != 0) {
              iVar10 = 0;
            }
          }
          else {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);
          }
        }
        goto LAB_00013850;
      }
      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);
      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =
           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;
      iVar17 = iVar17 + -1;
      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {
        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;
      }
      pfVar32 = (flags_t *)((int)pfStack_258 - iStack_2c8);
      pfVar13 = pfVar32;
    } while (0 < (int)pfVar32);
  }
  pfVar32 = pfVar13;
  if (piStack_2c0 == (int *)0x0) {
    iVar10 = 0;
  }
  else {
    *piStack_2c0 = iStack_2c8;
    iVar10 = 0;
  }
LAB_00013850:
  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {
    return iVar10;
  }
  pcVar39 = *(code **)(pcStack_2d8 + -0x7f08);
  pcVar40 = main;
  iVar15 = iStack_28c;
  (*pcVar39)();
  pcStack_304 = pcVar40;
  uStack_308 = (uint)_Var1;
  iStack_30c = iVar17;
  pfStack_310 = pfVar12;
  uStack_314 = uVar16;
  iStack_318 = iVar10;
  puStack_31c = puVar44;
  uStack_320 = uStack_14c;
  puStack_324 = puVar45;
  pfStack_328 = pfVar32;
  iStack_32c = **(int **)(pcVar39 + 0x17890);
  uStack_10bc = 0xffffffff;
  pfStack_10c0 = (flags_t *)0xffffffff;
  uStack_10b4 = 0xffffffff;
  pfStack_10b8 = (flags_t *)0xffffffff;
  a_Stack_102c[0] = false;
  a_Stack_e2c[0] = false;
  acStack_c2c[0] = '\0';
  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 10;
  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 10;
  if (1 < iVar15) {
    from_block = 0;
    iStack_110c = 0;
    iStack_1110 = 0;
    uStack_112c = 0x80;
    iVar10 = 1;
    bVar28 = false;
    bVar4 = false;
    bVar3 = false;
    bVar5 = false;
    bVar6 = false;
    pcVar40 = (code *)(*(int *)(pcVar39 + 0x177bc) + 0xfb0);
    iVar17 = *(int *)(pcVar39 + 0x177b0);
    iVar36 = *(int *)(pcVar39 + 0x177b0);
    lVar43 = 0;
LAB_000139c0:
    iVar19._0_1_ = pfVar11->dsync;
    iVar19._1_1_ = pfVar11->excl;
    iVar19._2_1_ = pfVar11->flock;
    iVar19._3_1_ = pfVar11->fua;
    if (iVar19 != 0) {
      (**(code **)(pcVar39 + 0x1782c))(&cStack_72c,iVar19,0x400);
      uStack_32d = 0;
      if (cStack_72c == '\0') {
        pcVar21 = &cStack_72c;
      }
      else {
        pcVar21 = &cStack_72c;
        if (cStack_72c != '=') {
          pcVar9 = acStack_72b;
          do {
            pcVar21 = pcVar9;
            if (*pcVar21 == '\0') goto LAB_00013a20;
            pcVar9 = pcVar21 + 1;
          } while (*pcVar21 != '=');
        }
        *pcVar21 = '\0';
        pcVar21 = pcVar21 + 1;
      }
LAB_00013a20:
      iVar19 = (**(code **)(pcVar39 + 0x177fc))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d4,3)
      ;
      if (iVar19 == 0) {
        iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
        *(bool *)(iVar17 + -0x4e58) = iVar19 != 0;
        *(bool *)(iVar36 + -0x4e78) = iVar19 != 0;
      }
      else {
        iVar19 = (**(code **)(pcVar39 + 0x178a8))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d0)
        ;
        if (iVar19 == 0) {
          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
          *(bool *)(iVar17 + -0x4e50) = iVar19 != 0;
          *(bool *)(iVar36 + -0x4e70) = iVar19 != 0;
        }
        else {
          iVar19 = (**(code **)(pcVar39 + 0x178a8))
                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66c4);
          if (iVar19 == 0) {
            uStack_112c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
            if (uStack_112c == 0xffffffff) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x66c0);
              uVar16 = 1;
              goto LAB_000147ec;
            }
            bVar6 = true;
          }
          else {
            iVar19 = (**(code **)(pcVar39 + 0x178a8))
                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66a0);
            if (iVar19 == 0) {
              uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
              *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = uVar20;
              bVar6 = true;
            }
            else {
              iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x669c);
              if (iVar19 == 0) {
                uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                *(undefined4 *)(iVar17 + -0x4e4c) = uVar20;
                *(undefined4 *)(iVar36 + -0x4e6c) = uVar20;
                bVar5 = true;
              }
              else {
                iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                   (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d7c);
                if (iVar19 == 0) {
                  uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                  *(undefined4 *)(iVar17 + -0x4e48) = uVar20;
                  *(undefined4 *)(iVar36 + -0x4e68) = uVar20;
                }
                else {
                  iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                     (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6694);
                  if (iVar19 == 0) {
                    iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e24) = iVar19;
                    if (iVar19 == -1) {
                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6688);
                      uVar16 = 1;
                      goto LAB_000147ec;
                    }
                  }
                  else {
                    iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                       (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6660);
                    if (iVar19 == 0) {
                      (**(code **)(pcVar39 + 0x1782c))(afStack_a2c,pcVar21,0x100);
                      uStack_92d = 0;
                      if (afStack_a2c[0].append == false) {
                        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6658);
                        iVar10 = *(int *)(pcVar39 + 0x177c0);
LAB_00013d7c:
                        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -22000);
                        uVar16 = 1;
                        goto LAB_000147ec;
                      }
                      iVar19 = *(int *)(pcVar39 + 0x177c0);
                      pfVar32 = afStack_a2c;
                      do {
                        pfVar13 = (flags_t *)(**(code **)(pcVar39 + 0x17858))(pfVar32,0x2c);
                        pfVar12 = pfVar13;
                        if (pfVar13 != (flags_t *)0x0) {
                          pfVar12 = (flags_t *)&pfVar13->dio;
                          pfVar13->append = false;
                        }
                        iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);
                        if (iVar23 == 0) {
                          *(int *)(iVar17 + -0x4e48) = *(int *)(iVar17 + -0x4e48) + 1;
                        }
                        else {
                          iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32,iVar19 + -0x6638);
                          if ((iVar23 != 0) &&
                             (iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32), iVar23 != 0)) {
                            iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);
                            if (iVar23 == 0) {
                              *(undefined1 *)(iVar36 + -0x4e6f) = 1;
                            }
                            else {
                              iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);
                              if (iVar23 != 0) {
                                (**(code **)(pcVar39 + 0x1787c))
                                          (*(int *)(pcVar39 + 0x177c0) + -0x6d38);
                                iVar10 = *(int *)(pcVar39 + 0x177c0);
                                goto LAB_00013d7c;
                              }
                            }
                          }
                        }
                        pfVar32 = pfVar12;
                      } while (pfVar12 != (flags_t *)0x0);
                    }
                    else {
                      iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                         (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6628);
                      if (iVar19 == 0) {
                        iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                           (*(int *)(pcVar39 + 0x177c0) + -0x6620);
                        if (iVar19 != 0) {
                          lVar42 = (**(code **)(pcVar39 + 0x17828))(pcVar21);
                          *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) = lVar42;
                          if (lVar42 == -1) {
                            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x661c);
                            uVar16 = 1;
                            goto LAB_000147ec;
                          }
                        }
                      }
                      else {
                        iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                           (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x5680);
                        if (iVar19 == 0) {
                          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                          *(bool *)(iVar36 + -0x4e77) = iVar19 != 0;
                          *(bool *)(iVar17 + -0x4e57) = iVar19 != 0;
                        }
                        else {
                          iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d54);
                          if (iVar19 == 0) {
                            iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                            *(byte *)(iVar36 + -0x4e71) = (byte)iVar19 & 1;
                            *(byte *)(iVar17 + -0x4e51) = (byte)((uint)(iVar19 << 0x1e) >> 0x1f);
                          }
                          else {
                            iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f8);
                            if (iVar19 == 0) {
                              iStack_1110 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                            }
                            else {
                              iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f4)
                              ;
                              if (iVar19 == 0) {
                                if (a_Stack_102c[0] != false) {
                                  (**(code **)(pcVar39 + 0x1787c))
                                            (*(int *)(pcVar39 + 0x177c0) + -0x65f0,
                                             *(int *)(pcVar39 + 0x177c0),0x1ff);
                                  uVar16 = 1;
                                  goto LAB_000147ec;
                                }
                                (**(code **)(pcVar39 + 0x1782c))(a_Stack_102c);
                              }
                              else {
                                iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                   (&cStack_72c,
                                                    *(int *)(pcVar39 + 0x177c0) + -0x65d4);
                                if (iVar19 == 0) {
                                  iVar19 = process_flags(pcVar21,(flags_t *)(iVar17 + -0x4e58));
                                  if (iVar19 != 0) {
                                    (**(code **)(pcVar39 + 0x1787c))
                                              (*(int *)(pcVar39 + 0x177c0) + -0x65cc);
                                    uVar16 = 1;
                                    goto LAB_000147ec;
                                  }
                                }
                                else {
                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                     (&cStack_72c,
                                                      *(int *)(pcVar39 + 0x177c0) + -0x65a8);
                                  if (iVar19 == 0) {
                                    iStack_110c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                                  }
                                  else {
                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                       (&cStack_72c,
                                                        *(int *)(pcVar39 + 0x177c0) + -0x65a4);
                                    if (iVar19 == 0) {
                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                                      *(bool *)(iVar17 + -0x4e56) = iVar19 != 0;
                                      *(bool *)(iVar36 + -0x4e76) = iVar19 != 0;
                                    }
                                    else {
                                      iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                         (&cStack_72c,
                                                          *(int *)(pcVar39 + 0x177c0) + -0x659c);
                                      if (iVar19 == 0) {
                                        if (a_Stack_e2c[0] != false) {
                                          (**(code **)(pcVar39 + 0x1787c))
                                                    (*(int *)(pcVar39 + 0x177c0) + -0x6598,
                                                     *(int *)(pcVar39 + 0x177c0),0x1ff);
                                          uVar16 = 0x1f;
                                          goto LAB_000147ec;
                                        }
                                        (**(code **)(pcVar39 + 0x1782c))(a_Stack_e2c);
                                      }
                                      else {
                                        iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                           (&cStack_72c,
                                                            *(int *)(pcVar39 + 0x177c0) + -0x657c);
                                        if (iVar19 == 0) {
                                          if (acStack_c2c[0] != '\0') {
                                            (**(code **)(pcVar39 + 0x1787c))
                                                      (*(int *)(pcVar39 + 0x177c0) + -0x6578,
                                                       *(int *)(pcVar39 + 0x177c0),0x1ff);
                                            uVar16 = 0x1f;
                                            goto LAB_000147ec;
                                          }
                                          (**(code **)(pcVar39 + 0x1782c))(acStack_c2c);
                                        }
                                        else {
                                          iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                             (&cStack_72c,
                                                              *(int *)(pcVar39 + 0x177c0) + -0x655c)
                                          ;
                                          if (iVar19 == 0) {
                                            iVar19 = process_flags(pcVar21,(flags_t *)
                                                                           (iVar36 + -0x4e78));
                                            if (iVar19 != 0) {
                                              (**(code **)(pcVar39 + 0x1787c))
                                                        (*(int *)(pcVar39 + 0x177c0) + -0x6554);
                                              uVar16 = 1;
                                              goto LAB_000147ec;
                                            }
                                          }
                                          else {
                                            iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                               (&cStack_72c,
                                                                *(int *)(pcVar39 + 0x177c0) +
                                                                -0x6530);
                                            if (iVar19 == 0) {
                                              iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);
                                              *(int *)(iVar17 + -0x4e3c) = iVar19;
                                              *(int *)(iVar36 + -0x4e5c) = iVar19;
                                              if (iVar19 == -1) {
                                                (**(code **)(pcVar39 + 0x1787c))
                                                          (*(int *)(pcVar39 + 0x177c0) + -0x6528);
                                                uVar16 = 1;
                                                goto LAB_000147ec;
                                              }
                                            }
                                            else {
                                              iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                                 (&cStack_72c,
                                                                  *(int *)(pcVar39 + 0x177c0) +
                                                                  -0x6504);
                                              if (iVar19 == 0) {
                                                lVar43 = (**(code **)(pcVar39 + 0x17828))(pcVar21);
                                                if (lVar43 == -1) {
                                                  (**(code **)(pcVar39 + 0x1787c))
                                                            (*(int *)(pcVar39 + 0x177c0) + -0x64fc);
                                                  uVar16 = 1;
                                                  goto LAB_000147ec;
                                                }
                                              }
                                              else {
                                                iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                                   (&cStack_72c,
                                                                    *(int *)(pcVar39 + 0x177c0) +
                                                                    -0x64dc);
                                                if (iVar19 == 0) {
                                                  from_block = (**(code **)(pcVar39 + 0x17828))
                                                                         (pcVar21);
                                                  if (from_block == -1) {
                                                    (**(code **)(pcVar39 + 0x1787c))
                                                              (*(int *)(pcVar39 + 0x177c0) + -0x64d4
                                                              );
                                                    uVar16 = 1;
                                                    goto LAB_000147ec;
                                                  }
                                                }
                                                else {
                                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                                     (&cStack_72c,
                                                                      *(int *)(pcVar39 + 0x177c0) +
                                                                      -0x6630);
                                                  if (iVar19 == 0) {
                                                    iVar19 = (**(code **)(pcVar39 + 0x1780c))
                                                                       (pcVar21);
                                                    bVar3 = iVar19 != 0;
                                                  }
                                                  else {
                                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))
                                                                       (&cStack_72c);
                                                    if (iVar19 == 0) {
                                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))
                                                                         (pcVar21);
                                                      *(bool *)(*(int *)(pcVar39 + 0x177b0) +
                                                               -0x4e17) = iVar19 != 0;
                                                    }
                                                    else {
                                                      iVar19 = (**(code **)(pcVar39 + 0x177fc))
                                                                         (&cStack_72c);
                                                      if (iVar19 == 0) {
                                                        uVar20 = (**(code **)(pcVar39 + 0x1780c))
                                                                           (pcVar21);
                                                        *(undefined4 *)
                                                         (*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =
                                                             uVar20;
                                                      }
                                                      else {
                                                        iVar19 = (**(code **)(pcVar39 + 0x17854))
                                                                           (&cStack_72c);
                                                        if (((iVar19 < 2) || (cStack_72c != '-')) ||
                                                           (acStack_72b[0] == '-')) {
                                                          iVar19 = (**(code **)(pcVar39 + 0x177fc))
                                                                             (&cStack_72c,
                                                                              *(int *)(pcVar39 +
                                                                                      0x177c0) +
                                                                              -0x6470,9);
                                                          iVar23 = *(int *)(pcVar39 + 0x177b0);
                                                          if (iVar19 != 0) {
                                                            iVar19 = (**(code **)(pcVar39 + 0x177fc)
                                                                     )(&cStack_72c,
                                                                       *(int *)(pcVar39 + 0x177c0) +
                                                                       -0x6464,9);
                                                            if (iVar19 != 0) {
                                                              iVar19 = (**(code **)(pcVar39 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar39 +
                                                                                          0x177c0) +
                                                                                  -0x6458,6);
                                                              if ((iVar19 == 0) ||
                                                                 (iVar19 = (**(code **)(pcVar39 +
                                                                                       0x178a8))
                                                                                     (&cStack_72c),
                                                                 iVar19 == 0)) {
                                                                usage();
                                                                uVar16 = 0;
                                                                goto LAB_000147ec;
                                                              }
                                                              iVar19 = (**(code **)(pcVar39 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar39 +
                                                                                          0x177c0) +
                                                                                  -0x644c,6);
                                                              if (iVar19 != 0) {
                                                                iVar19 = (**(code **)(pcVar39 +
                                                                                     0x177fc))
                                                                                   (&cStack_72c,
                                                                                    *(int *)(pcVar39
                                                                                            + 
                                                  0x177c0) + -0x6444,6);
                                                  if (iVar19 == 0) {
                                                    bVar28 = true;
                                                    goto LAB_000139b8;
                                                  }
                                                  (**(code **)(pcVar39 + 0x1787c))
                                                            (*(int *)(pcVar39 + 0x177c0) + -0x643c);
                                                  (**(code **)(pcVar39 + 0x1787c))
                                                            (*(int *)(pcVar39 + 0x177c0) + -0x6420);
                                                  uVar16 = 1;
                                                  goto LAB_000147ec;
                                                  }
                                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =
                                                       *(int *)(*(int *)(pcVar39 + 0x177b0) +
                                                               -0x4e1c) + 1;
                                                  bVar4 = true;
                                                  goto LAB_000139b8;
                                                  }
                                                  iVar23 = *(int *)(pcVar39 + 0x177b0);
                                                  }
                                                  *(int *)(iVar23 + -0x4e14) =
                                                       *(int *)(iVar23 + -0x4e14) + 1;
                                                  }
                                                  else {
                                                    iVar19 = iVar19 + -1;
                                                    iVar23 = (*pcVar40)(acStack_72b,iVar19,100);
                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14)
                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +
                                                                   -0x4e14) + iVar23;
                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x68);
                                                    if (0 < iVar33) {
                                                      usage();
                                                      uVar16 = 0;
                                                      goto LAB_000147ec;
                                                    }
                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x76);
                                                    if (0 < iVar33) {
                                                      bVar4 = true;
                                                    }
                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)
                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +
                                                                   -0x4e1c) + iVar33;
                                                    iVar26 = (*pcVar40)(acStack_72b,iVar19,0x56);
                                                    if (0 < iVar26) {
                                                      bVar28 = true;
                                                    }
                                                    if (iVar23 + iVar33 + iVar26 < iVar19) {
                                                      (**(code **)(pcVar39 + 0x1787c))
                                                                (*(int *)(pcVar39 + 0x177c0) +
                                                                 -0x64a4);
                                                      uVar16 = 1;
                                                      goto LAB_000147ec;
                                                    }
                                                  }
                                                  }
                                                  }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
LAB_000139b8:
    iVar10 = iVar10 + 1;
    pfVar11 = (flags_t *)&pfVar11->dsync;
    if (iVar15 == iVar10) goto LAB_000146c0;
    goto LAB_000139c0;
  }
  if (iVar15 < 2) {
    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63a4);
    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);
    uVar16 = 0x1f;
    goto LAB_000147ec;
  }
  lVar43 = 0;
  uStack_112c = 0x80;
  bVar5 = false;
  iStack_110c = 0;
  from_block = 0;
  iStack_1110 = 0;
  bVar3 = false;
  bVar6 = false;
LAB_00017904:
  iVar10 = *(int *)(pcVar39 + 0x177b0);
LAB_00017908:
  iStack_1128 = (int)((ulonglong)from_block >> 0x20);
  iStack_1120 = (int)from_block;
  pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);
  uVar16 = (uint)lVar43;
  if (*(int *)(iVar10 + -20000) < 1) {
    *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = 0x200;
    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6368);
  }
  if ((iStack_1110 == 0) ||
     (iVar10 = *(int *)(pcVar39 + 0x177c0),
     *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_1110)) {
    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_110c)) {
      if ((from_block < 0) || (lVar43 < 0)) {
        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6308);
        uVar16 = 0x1f;
        goto LAB_000147ec;
      }
      if ((*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') &&
         ((iVar10 = *(int *)(pcVar39 + 0x177c0), 0xffffffff < lVar43 ||
          ((pfStack_1138 == (flags_t *)0x0 && (iVar10 = *(int *)(pcVar39 + 0x177c0), uVar16 != 0))))
         )) {
        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x62e4);
        uVar16 = 0x1f;
        goto LAB_000147ec;
      }
      if ((int)uStack_112c < 1) {
        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x62b8);
        uVar16 = 1;
        goto LAB_000147ec;
      }
      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4f) == '\0') {
        iVar10 = *(int *)(pcVar39 + 0x177b0);
      }
      else {
        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x629c);
        iVar10 = *(int *)(pcVar39 + 0x177b0);
      }
      iVar15 = *(int *)(pcVar39 + 0x177bc);
      if ((0x7ff < *(int *)(iVar10 + -20000)) && (!bVar6)) {
        uStack_112c = 0x20;
      }
      install_handler(2,(_func_void_int *)(&DAT_00001730 + iVar15));
      install_handler(3,(_func_void_int *)(&DAT_00001730 + iVar15));
      install_handler(0xd,(_func_void_int *)(&DAT_00001730 + iVar15));
      install_handler(0x10,(_func_void_int *)(&DAT_00001484 + *(int *)(pcVar39 + 0x177bc)));
      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = 0xffffffff;
      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = 0xffffffff;
      if (a_Stack_102c[0] == false) {
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
      else {
        if (a_Stack_102c[0] != true) {
          iVar10 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);
          uStack_1108 = dd_filetype(a_Stack_102c);
          if (iVar10 != 0) {
            pcVar21 = dd_filetype_str(uStack_1108,&afStack_a2c[0].append);
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x627c,pcVar21);
          }
          if ((uStack_1108 & 0x80) == 0) {
            if (((uStack_1108 & 0x20) == 0) ||
               (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e50) == '\0')) {
              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;
              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;
              uVar31 = 0;
              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) != '\0') {
                uVar31 = 0x8000;
              }
              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {
                uVar31 = uVar31 | 0x400;
              }
              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {
                uVar31 = uVar31 | 0x4010;
              }
              iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar31);
              if (iStack_1134 < 0) {
                (**(code **)(pcVar39 + 0x178b4))
                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6168,
                           a_Stack_102c);
                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                iStack_1134 = -0xf;
                goto LAB_00014b8c;
              }
              if (iVar10 != 0) {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6140);
              }
              if (from_block < 0x100000000) {
                if (iStack_1128 == 0) {
                  iVar15 = *(int *)(pcVar39 + 0x177b0);
                  if (iStack_1120 != 0) goto LAB_00014de0;
                }
                else {
LAB_00014a24:
                  iVar15 = *(int *)(pcVar39 + 0x177b0);
                }
              }
              else {
LAB_00014de0:
                iVar15 = (**(code **)(pcVar39 + 0x17870))(iStack_1134);
                if (iVar15 < 0) {
                  (**(code **)(pcVar39 + 0x178b4))
                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6120,
                             a_Stack_102c);
                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                  iStack_1134 = -0xf;
                  goto LAB_00014b8c;
                }
                if (iVar10 == 0) goto LAB_00014a24;
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60f0);
                iVar15 = *(int *)(pcVar39 + 0x177b0);
              }
              if ((*(int *)(iVar15 + -0x4e44) == 0) ||
                 (iVar10 = (**(code **)(pcVar39 + 0x17800))(iStack_1134), iVar10 == 0)) {
                iVar10 = *(int *)(pcVar39 + 0x177b0);
              }
              else {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60bc);
                iVar10 = *(int *)(pcVar39 + 0x177b0);
              }
              if ((*(char *)(iVar10 + -0x4e52) == '\0') ||
                 (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), -1 < iVar10))
              goto LAB_00014f44;
LAB_00014a68:
              (**(code **)(pcVar39 + 0x177e8))(iStack_1134);
              (**(code **)(pcVar39 + 0x178b4))
                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,
                         a_Stack_102c);
              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
              iStack_1134 = -0x5a;
            }
            else {
              uVar31 = uStack_1108 & 0x10;
              uStack_1108 = uStack_1108 | 2;
              if (uVar31 == 0) {
LAB_00014ad0:
                uVar31 = 0x8080;
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) == '\0') {
                  uVar31 = 0x80;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {
                  uVar31 = uVar31 | 0x400;
                }
                uVar41 = uVar31 | 2;
                uVar27 = uVar31;
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {
                  uVar27 = uVar31 | 0x4010;
                  uVar41 = uVar31 | 0x4012;
                }
                iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar41);
                if (iStack_1134 < 0) {
                  iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar27);
                  uVar31 = 0;
                  if (iStack_1134 < 0) {
                    (**(code **)(pcVar39 + 0x178b4))
                              (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6218,
                               a_Stack_102c);
                    (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  uVar31 = 2;
                }
                if (iVar10 == 0) {
                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0);
                  if (iVar10 != 0) {
LAB_00014c94:
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);
                    iStack_1134 = -99;
                    goto LAB_00014b8c;
                  }
                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                }
                else {
                  (**(code **)(pcVar39 + 0x1787c))
                            (*(int *)(pcVar39 + 0x177c0) + -0x61f0,uVar27 | uVar31);
                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar10 + -1);
                  if (iVar10 != 0) goto LAB_00014c94;
                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                  (**(code **)(pcVar39 + 0x1787c))
                            (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_102c,auStack_105c,
                             auStack_1053,auStack_1042,(uint)bStack_1063);
                }
                if ((uStack_1108 & 0x20) == 0) {
                  aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;
                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);
                  if (iVar10 < 0) {
                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);
                  }
                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);
                  if ((iVar10 < 0) ||
                     (iVar10 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  iVar10 = *(int *)(pcVar39 + 0x177b0);
                }
                if ((*(char *)(iVar10 + -0x4e52) != '\0') &&
                   (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), iVar10 < 0))
                goto LAB_00014a68;
                if (-1 < iStack_1134) goto LAB_00014f44;
              }
              else {
LAB_0001490c:
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);
                iStack_1134 = -0xf;
              }
            }
          }
          else {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6260);
            iStack_1134 = -0xf;
          }
LAB_00014b8c:
          uVar16 = -iStack_1134;
          goto LAB_000147ec;
        }
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
LAB_00014f44:
      iVar10 = 1;
      if (a_Stack_e2c[0] == false) {
        uStack_111c = 1;
      }
      else {
        if (a_Stack_e2c[0] != true) {
          iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);
          uStack_111c = dd_filetype(a_Stack_e2c);
          if (iVar15 != 0) {
            pcVar21 = dd_filetype_str(uStack_111c,&afStack_a2c[0].append);
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6060,pcVar21);
          }
          if (((uStack_111c & 0x20) == 0) ||
             (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e70) == '\0')) {
            if ((uStack_111c & 0x10) == 0) {
              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;
              if ((uStack_111c & 8) != 0) {
                iVar10 = -1;
                goto LAB_00015058;
              }
              if ((uStack_111c & 4) == 0) {
                uVar31 = 0x8101;
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {
                  uVar31 = 0x101;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {
                  uVar31 = uVar31 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {
                  uVar31 = uVar31 | 0x4010;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') {
                  uVar31 = uVar31 | 8;
                }
                iVar10 = (**(code **)(pcVar39 + 0x1783c))(a_Stack_e2c,uVar31,0x1b6);
                if (-1 < iVar10) {
LAB_00015148:
                  if (iVar15 != 0) {
                    if ((uVar31 & 0x100) == 0) {
                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f0;
                    }
                    else {
                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f8;
                    }
                    (**(code **)(pcVar39 + 0x1787c))
                              (*(int *)(pcVar39 + 0x177c0) + -0x5fa0,iVar17,uVar31);
                  }
                  if (lVar43 < 0x100000000) {
                    if (pfStack_1138 == (flags_t *)0x0) {
                      iVar17 = *(int *)(pcVar39 + 0x177b0);
                      if (uVar16 != 0) goto LAB_00015484;
                    }
                    else {
LAB_00015194:
                      iVar17 = *(int *)(pcVar39 + 0x177b0);
                    }
                  }
                  else {
LAB_00015484:
                    iVar17 = (**(code **)(pcVar39 + 0x17870))(iVar10);
                    if (iVar17 < 0) {
                      (**(code **)(pcVar39 + 0x178b4))
                                (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5f80,
                                 a_Stack_e2c);
                      (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                      iVar10 = -0xf;
                      goto LAB_0001557c;
                    }
                    if (iVar15 == 0) goto LAB_00015194;
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f50);
                    iVar17 = *(int *)(pcVar39 + 0x177b0);
                  }
                  if (*(char *)(iVar17 + -0x4e72) != '\0') goto LAB_00015558;
                  goto LAB_00015574;
                }
                (**(code **)(pcVar39 + 0x178b4))
                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,
                           a_Stack_e2c);
                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                iVar10 = -0xf;
              }
              else {
                uVar31 = 0x8001;
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {
                  uVar31 = 1;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {
                  uVar31 = uVar31 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {
                  uVar31 = uVar31 | 0x4010;
                }
                iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c);
                if (-1 < iVar10) goto LAB_00015148;
                (**(code **)(pcVar39 + 0x178b4))
                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5fcc,
                           a_Stack_e2c);
                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                iVar10 = -0xf;
              }
              goto LAB_0001557c;
            }
LAB_000151ac:
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);
            iVar10 = -0xf;
          }
          else {
            uVar31 = uStack_111c & 0x10;
            uStack_111c = uStack_111c | 2;
            if (uVar31 != 0) goto LAB_000151ac;
LAB_00014fbc:
            uVar31 = 0x8082;
            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {
              uVar31 = 0x82;
            }
            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {
              uVar31 = uVar31 | 0x400;
            }
            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {
              uVar31 = uVar31 | 0x4010;
            }
            iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c,uVar31);
            if (iVar10 < 0) {
              (**(code **)(pcVar39 + 0x178b4))
                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6044,a_Stack_e2c
                        );
              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
              iVar10 = -0xf;
              goto LAB_0001557c;
            }
            if (iVar15 == 0) {
              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0);
              if (iVar15 != 0) {
LAB_000152b0:
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);
                iVar10 = -99;
                goto LAB_0001557c;
              }
              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x601c,uVar31);
              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0,iVar15 + -1);
              if (iVar15 != 0) goto LAB_000152b0;
              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
              (**(code **)(pcVar39 + 0x1787c))
                        (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_e2c,auStack_105c,auStack_1053
                         ,auStack_1042,(uint)bStack_1063);
            }
            if ((uStack_111c & 0x20) == 0) {
              aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;
              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2275,aiStack_10a4);
              if (iVar15 < 0) {
                (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);
              }
              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2282,aiStack_10a4);
              if ((iVar15 < 0) || (iVar15 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);
                iVar10 = -0xf;
                goto LAB_0001557c;
              }
            }
            else {
LAB_00015058:
              iVar15 = *(int *)(pcVar39 + 0x177b0);
            }
            if (*(char *)(iVar15 + -0x4e72) == '\0') goto LAB_000155f8;
LAB_00015558:
            iVar15 = (**(code **)(pcVar39 + 0x1785c))(iVar10);
            if (iVar15 < 0) {
              (**(code **)(pcVar39 + 0x177e8))(iVar10);
              (**(code **)(pcVar39 + 0x178b4))
                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,a_Stack_e2c
                        );
              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
              iVar10 = -0x5a;
            }
            else {
LAB_00015574:
              if (-2 < iVar10) goto LAB_000155f8;
            }
          }
LAB_0001557c:
          uVar16 = -iVar10;
          goto LAB_000147ec;
        }
        uStack_111c = 1;
      }
LAB_000155f8:
      iVar15 = 1;
      if (acStack_c2c[0] == '\0') {
        iStack_110c = -1;
      }
      else {
        iVar15 = dd_filetype(acStack_c2c);
        iStack_110c = (**(code **)(pcVar39 + 0x1783c))(acStack_c2c,0x101,0x1b6);
        if (iStack_110c < 0) {
          puVar22 = (uint *)(**(code **)(pcVar39 + 0x17830))();
          uVar16 = *puVar22;
          (**(code **)(pcVar39 + 0x178b4))
                    (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,acStack_c2c);
          (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
          goto LAB_000147ec;
        }
      }
      if (iStack_1134 == 0) {
        if (iVar10 == 1) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f1c);
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);
          uVar16 = 0x1f;
          goto LAB_000147ec;
        }
        iVar17 = *(int *)(pcVar39 + 0x177b0);
LAB_00015624:
        iVar36 = *(int *)(iVar17 + -0x4fe0);
      }
      else {
        iVar17 = *(int *)(pcVar39 + 0x177b0);
        if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;
        iVar36 = *(int *)(iVar17 + -0x4fe0);
        if (iVar10 == 1) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ee8);
          uVar16 = 0x1f;
          goto LAB_000147ec;
        }
      }
      if (iVar36 < 0) {
LAB_00015648:
        uStack_10bc = 0xffffffff;
        pfStack_10c0 = (flags_t *)0xffffffff;
        iStack_10cc = -1;
        if ((uStack_1108 & 2) == 0) {
          if ((uStack_1108 & 0x20) != 0) {
            iVar17 = read_blkdev_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);
            if (iVar17 == 0) {
              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4,a_Stack_102c);
              uStack_10bc = 0xffffffff;
              pfStack_10c0 = (flags_t *)0xffffffff;
              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;
            }
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);
            uStack_10bc = 0xffffffff;
            pfStack_10c0 = (flags_t *)0xffffffff;
          }
        }
        else {
          iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);
          if (iVar17 == 6) {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ebc);
            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);
          }
          else if (iVar17 == 0xb) {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e90);
            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);
          }
          if (iVar17 == 0) {
            if (iStack_10cc != *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000)) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);
            }
LAB_000156b8:
            if (from_block < CONCAT44(pfStack_10c0,uStack_10bc)) {
              pfStack_10c0 = (flags_t *)
                             ((int)pfStack_10c0 +
                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128));
              uStack_10bc = uStack_10bc - iStack_1120;
            }
          }
          else {
            if (iVar17 == 9) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);
            }
            else if (iVar17 == 2) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e40);
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);
            }
            uStack_10bc = 0xffffffff;
            pfStack_10c0 = (flags_t *)0xffffffff;
          }
        }
LAB_000156f0:
        uStack_10b4 = 0xffffffff;
        pfStack_10b8 = (flags_t *)0xffffffff;
        iStack_10c8 = -1;
        if ((uStack_111c & 2) == 0) {
          iVar17 = *(int *)(pcVar39 + 0x177b0);
          if ((uStack_111c & 0x20) != 0) {
            iVar17 = read_blkdev_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);
            if (iVar17 == 0) {
              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);
              uStack_10b4 = 0xffffffff;
              pfStack_10b8 = (flags_t *)0xffffffff;
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4);
              uStack_10b4 = 0xffffffff;
              pfStack_10b8 = (flags_t *)0xffffffff;
            }
            goto LAB_00015be0;
          }
        }
        else {
          iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);
          if (iVar17 == 6) {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d8c);
            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);
          }
          else if (iVar17 == 0xb) {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d60);
            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);
          }
          if (iVar17 == 0) {
            if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) != iStack_10c8) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);
            }
LAB_00015bb4:
            if ((int)pfStack_10b8 <= (int)pfStack_1138) {
              if (pfStack_10b8 != pfStack_1138) goto LAB_00015be0;
              if (uStack_10b4 <= uVar16) {
                iVar17 = *(int *)(pcVar39 + 0x177b0);
                goto LAB_00015be4;
              }
            }
            pfStack_10b8 = (flags_t *)
                           ((int)pfStack_10b8 +
                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar16) - (int)pfStack_1138));
            uStack_10b4 = uStack_10b4 - uVar16;
          }
          else {
            if (iVar17 == 9) {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);
            }
            uStack_10b4 = 0xffffffff;
            pfStack_10b8 = (flags_t *)0xffffffff;
          }
LAB_00015be0:
          iVar17 = *(int *)(pcVar39 + 0x177b0);
        }
LAB_00015be4:
        if (-1 < *(int *)(iVar17 + -0x4fe0)) {
LAB_00015bf0:
          iVar19 = *(int *)(pcVar39 + 0x177b0);
          goto LAB_00015bf4;
        }
        if ((0 < (int)pfStack_10c0) || ((pfStack_10c0 == (flags_t *)0x0 && (uStack_10bc != 0)))) {
          if (((int)pfStack_10b8 < 1) && ((pfStack_10b8 != (flags_t *)0x0 || (uStack_10b4 == 0)))) {
            iVar17 = *(int *)(pcVar39 + 0x177b0);
            *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10c0;
            *(uint *)(iVar17 + -0x4fdc) = uStack_10bc;
          }
          else {
            iVar17 = *(int *)(pcVar39 + 0x177b0);
            if (((int)pfStack_10b8 < (int)pfStack_10c0) ||
               ((pfVar32 = pfStack_10c0, uVar16 = uStack_10bc, pfStack_10c0 == pfStack_10b8 &&
                (uStack_10b4 < uStack_10bc)))) {
              pfVar32 = pfStack_10b8;
              uVar16 = uStack_10b4;
            }
            *(flags_t **)(iVar17 + -0x4fe0) = pfVar32;
            *(uint *)(iVar17 + -0x4fdc) = uVar16;
          }
          goto LAB_00015bf0;
        }
        iVar17 = *(int *)(pcVar39 + 0x177b0);
        *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10b8;
        *(uint *)(iVar17 + -0x4fdc) = uStack_10b4;
        pfVar32 = pfStack_10b8;
        uVar16 = uStack_10b4;
        if ((int)pfStack_10b8 < 0) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d34);
          uVar16 = 99;
          goto LAB_000147ec;
        }
      }
      else {
        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;
        iVar19 = *(int *)(pcVar39 + 0x177b0);
        if (iVar36 == 0 && *(int *)(iVar17 + -0x4fdc) == 0) goto LAB_00015648;
LAB_00015bf4:
        pfVar32 = *(flags_t **)(iVar19 + -0x4fe0);
        uVar16 = *(uint *)(iVar19 + -0x4fdc);
      }
      if (bVar5) {
LAB_00015cf0:
        iVar17 = *(int *)(pcVar39 + 0x177b0);
      }
      else {
        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) != 0x10))
           && ((0xffffffff < from_block + CONCAT44(pfVar32,uVar16) || (0xffff < (int)uStack_112c))))
        {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d08);
          *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 0x10;
        }
        iVar17 = *(int *)(pcVar39 + 0x177b0);
        if ((uStack_111c & 2) != 0) {
          if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) != 0x10) {
            if ((lVar43 + *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) < 0x100000000) &&
               (iVar17 = *(int *)(pcVar39 + 0x177b0), (int)uStack_112c < 0x10000))
            goto LAB_00015cf4;
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ccc);
            *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 0x10;
          }
          goto LAB_00015cf0;
        }
      }
LAB_00015cf4:
      iVar36 = *(int *)(pcVar39 + 0x177b0);
      if ((*(char *)(iVar17 + -0x4e76) == '\0') &&
         (iVar36 = *(int *)(pcVar39 + 0x177b0),
         (*(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&
         ((uStack_111c | uStack_1108) & 4) == 0)) {
        puStack_113c = (uint8_t *)
                       (**(code **)(pcVar39 + 0x177f0))
                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);
        if (puStack_113c == (uint8_t *)0x0) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c6c);
          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      else {
        puStack_113c = (uint8_t *)
                       (**(code **)(pcVar39 + 0x177f0))
                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);
        if (puStack_113c == (uint8_t *)0x0) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c90);
          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      iVar17 = *(int *)(pcVar39 + 0x177b0);
      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e17) != '\0') {
        *(undefined4 *)(iVar17 + -0x4e30) = 0;
        *(undefined4 *)(iVar17 + -0x4e2c) = 0;
        (**(code **)(pcVar39 + 0x17884))();
        *(undefined1 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e18) = 1;
      }
      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14) < 1) {
        iVar17 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0);
        uVar31 = *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc);
        if ((iVar17 < 1) && ((iVar17 != 0 || (uVar31 == 0)))) {
          uVar16 = 0;
          iStack_10f4 = 0;
        }
        else {
          iStack_10f4 = 0;
          uStack_1124 = 0;
          iVar36 = *(int *)(pcVar39 + 0x177b0);
          iVar19 = *(int *)(pcVar39 + 0x177b0);
          iVar23 = *(int *)(pcVar39 + 0x177c0);
          cVar7 = '\0';
          while( true ) {
            pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);
            uVar20 = (undefined4)lVar43;
            iStack_1128 = (int)((ulonglong)from_block >> 0x20);
            iStack_1120 = (int)from_block;
            if ((iVar17 < (int)uStack_112c >> 0x1f) ||
               ((uVar27 = uStack_112c, (int)uStack_112c >> 0x1f == iVar17 && (uVar31 < uStack_112c))
               )) {
              uVar27 = uVar31;
            }
            if ((uStack_1108 & 2) != 0) break;
            iVar26 = *(int *)(pcVar39 + 0x177b0);
            iVar33 = *(int *)(iVar26 + -20000);
            while (iVar17 = (**(code **)(pcVar39 + 0x178a0))
                                      (iStack_1134,puStack_113c,uVar27 * iVar33), iVar17 < 0) {
              piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();
              iVar33 = *(int *)(iVar26 + -20000);
              if ((*piVar18 != 4) && (*piVar18 != 0xb)) {
                if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                  (**(code **)(pcVar39 + 0x1787c))
                            (*(int *)(pcVar39 + 0x177c0) + -0x555c,
                             uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar17);
                }
                (**(code **)(pcVar39 + 0x178b4))
                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5bac);
                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                uVar16 = 0xffffffff;
                goto LAB_0001628c;
              }
            }
            iVar33 = *(int *)(pcVar39 + 0x177b0);
            if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
              (**(code **)(pcVar39 + 0x1787c))
                        (*(int *)(pcVar39 + 0x177c0) + -0x555c,uVar27 * *(int *)(iVar33 + -20000),
                         iVar17);
              iVar33 = *(int *)(pcVar39 + 0x177b0);
            }
            iVar26 = *(int *)(iVar33 + -20000);
            iVar33 = *(int *)(pcVar39 + 0x177b0);
            if (iVar17 < (int)(iVar26 * uVar27)) {
              *(undefined4 *)(iVar33 + -0x4fdc) = 0;
              *(undefined4 *)(iVar33 + -0x4fe0) = 0;
              if (iVar26 == 0) {
                trap(7);
              }
              uVar27 = iVar17 / iVar26;
              if (0 < iVar17 % iVar26) {
                uVar27 = uVar27 + 1;
                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) =
                     *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) + 1;
              }
            }
            iVar33 = *(int *)(pcVar39 + 0x177b0);
            uVar16 = *(uint *)(iVar33 + -0x4ddc) + uVar27;
            *(uint *)(iVar33 + -0x4de0) =
                 ((int)uVar27 >> 0x1f) +
                 (uint)(uVar16 < *(uint *)(iVar33 + -0x4ddc)) + *(int *)(iVar33 + -0x4de0);
            *(uint *)(iVar33 + -0x4ddc) = uVar16;
LAB_0001775c:
            if (uVar27 == 0) {
LAB_00017264:
              uVar16 = 0;
              goto LAB_0001726c;
            }
            iVar33 = *(int *)(pcVar39 + 0x177b0);
            if (acStack_c2c[0] == '\0') {
              iStack_10fc = 0;
LAB_00017770:
              cVar2 = *(char *)(iVar19 + -0x4e6f);
            }
            else {
              iVar26 = *(int *)(iVar33 + -20000);
              while (iStack_10fc = (**(code **)(pcVar39 + 0x17844))
                                             (iStack_110c,puStack_113c,uVar27 * iVar26),
                    iStack_10fc < 0) {
                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();
                iVar26 = *(int *)(iVar33 + -20000);
                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar39 + 0x1787c))
                              (*(int *)(pcVar39 + 0x177c0) + -0x557c,
                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);
                  }
                  (**(code **)(pcVar39 + 0x178b4))
                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5b90);
                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                  uVar16 = 0xffffffff;
                  goto LAB_0001628c;
                }
              }
              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;
              (**(code **)(pcVar39 + 0x1787c))
                        (*(int *)(pcVar39 + 0x177c0) + -0x557c,
                         uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);
              cVar2 = *(char *)(iVar19 + -0x4e6f);
            }
            iVar33 = (int)uVar27 >> 0x1f;
            if ((cVar2 == '\0') ||
               ((iVar26 = *(int *)(pcVar39 + 0x177b0), *(int *)(iVar26 + -0x4fe0) <= iVar33 &&
                ((*(int *)(iVar26 + -0x4fe0) != iVar33 || (*(uint *)(iVar26 + -0x4fdc) <= uVar27))))
               )) {
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
              iVar26 = *(int *)(pcVar39 + 0x177b0);
              if ((uStack_111c & 8) != 0) {
                iVar26 = *(int *)(pcVar39 + 0x177b0);
                goto LAB_00016710;
              }
LAB_000175a8:
              iVar30 = *(int *)(iVar26 + -20000);
              while (iVar25 = (**(code **)(pcVar39 + 0x17844))(iVar10,puStack_113c,uVar27 * iVar30),
                    iVar25 < 0) {
                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();
                iVar30 = *(int *)(iVar26 + -20000);
                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar39 + 0x1787c))
                              (*(int *)(pcVar39 + 0x177c0) + -0x559c,
                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar25);
                  }
                  (**(code **)(pcVar39 + 0x178b4))
                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5844);
                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
                  uVar16 = 0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar26 = *(int *)(pcVar39 + 0x177b0);
              if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                (**(code **)(pcVar39 + 0x1787c))
                          (*(int *)(pcVar39 + 0x177c0) + -0x559c,uVar27 * *(int *)(iVar26 + -20000),
                           iVar25);
                iVar26 = *(int *)(pcVar39 + 0x177b0);
              }
              iVar30 = *(int *)(pcVar39 + 0x177b0);
              if (iVar25 < (int)(uVar27 * *(int *)(iVar26 + -20000))) {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5828);
                iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000);
                iVar17 = *(int *)(pcVar39 + 0x177b0);
                if (iVar15 == 0) {
                  trap(7);
                }
                uVar16 = *(uint *)(iVar17 + -0x4dec) + iVar25 / iVar15;
                *(uint *)(iVar17 + -0x4df0) =
                     *(int *)(iVar17 + -0x4df0) + (iVar25 / iVar15 >> 0x1f) +
                     (uint)(uVar16 < *(uint *)(iVar17 + -0x4dec));
                *(uint *)(iVar17 + -0x4dec) = uVar16;
                if (iVar25 % iVar15 < 1) {
                  uVar16 = 0xffffffff;
                }
                else {
                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) =
                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) + 1;
                  uVar16 = 0xffffffff;
                }
                goto LAB_0001628c;
              }
              uVar16 = uVar27 + *(uint *)(iVar30 + -0x4dec);
              *(uint *)(iVar30 + -0x4df0) =
                   (uint)(uVar16 < *(uint *)(iVar30 + -0x4dec)) +
                   *(int *)(iVar30 + -0x4df0) + iVar33;
              *(uint *)(iVar30 + -0x4dec) = uVar16;
              cVar2 = '\0';
              uStack_1124 = uVar27;
            }
            else if ((uStack_111c & 8) == 0) {
              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) == 0) {
                iVar26 = (**(code **)(pcVar39 + 0x177f0))
                                   (uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),0,
                                    *(int *)(pcVar39 + 0x177b0) + -0x4e38,0);
                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) = iVar26;
                if (iVar26 == 0) {
                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b6c);
                  uVar16 = 0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar26 = (**(code **)(pcVar39 + 0x17888))
                                 (puStack_113c,
                                  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34),
                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uVar27);
              if (iVar26 == 0) {
                if ((uStack_111c & 2) == 0) {
                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b10);
                  }
                  iVar26 = (**(code **)(pcVar39 + 0x17870))(iVar10);
                  if (iVar26 < 0) {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5adc);
                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a98);
                    uVar16 = 0xf;
                    goto LAB_0001628c;
                  }
                  if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 5) {
                    iVar26 = *(int *)(pcVar39 + 0x177b0);
                  }
                  else {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a84);
                    iVar26 = *(int *)(pcVar39 + 0x177b0);
                  }
                  uVar16 = *(uint *)(iVar26 + -0x4dfc) + uVar27;
                  *(uint *)(iVar26 + -0x4e00) =
                       *(int *)(iVar26 + -0x4e00) +
                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) + iVar33;
                  *(uint *)(iVar26 + -0x4dfc) = uVar16;
                  iVar25 = 0;
                  uStack_1124 = uVar27;
                }
                else {
                  iVar26 = *(int *)(pcVar39 + 0x177b0);
                  uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dfc);
                  *(uint *)(iVar26 + -0x4e00) =
                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) +
                       *(int *)(iVar26 + -0x4e00) + iVar33;
                  *(uint *)(iVar26 + -0x4dfc) = uVar16;
                  iVar25 = 0;
                  uStack_1124 = uVar27;
                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar39 + 0x1787c))
                              (*(int *)(pcVar39 + 0x177c0) + -0x5b4c,uVar16,pfStack_1138,uVar20,
                               uVar27);
                  }
                }
              }
              else {
                iVar26 = *(int *)(pcVar39 + 0x177b0);
                if ((uStack_111c & 2) == 0) goto LAB_000175a8;
LAB_00017554:
                cStack_10d5 = *(char *)(iVar19 + -0x4e77);
                iVar35 = *(int *)(iVar19 + -0x4e5c);
                bVar4 = true;
                iVar33 = *(int *)(pcVar39 + 0x177b0);
                iVar26 = *(int *)(pcVar39 + 0x177bc);
                iVar25 = *(int *)(pcVar39 + 0x177b0);
                iVar30 = *(int *)(pcVar39 + 0x177c0);
LAB_000169f8:
                iVar37 = *(int *)(iVar33 + -20000);
                uStack_10ac = 0;
                uStack_10b0 = 0;
                pfVar32 = pfStack_1138;
                iVar24 = (*(code *)(&DAT_00001dd4 + iVar26))
                                   (auStack_103c,*(undefined4 *)(iVar19 + -0x4e6c),uVar27);
                if (iVar24 == 0) {
                  (**(code **)(pcVar39 + 0x17834))(auStack_109a,0,0x36);
                  aiStack_10a4[0] = 0x53;
                  uStack_109c = (undefined1)*(undefined4 *)(iVar19 + -0x4e6c);
                  puStack_1090 = auStack_103c;
                  aiStack_10a4[1] = 0xfffffffe;
                  iStack_1098 = iVar37 * uVar27;
                  puStack_1094 = puStack_113c;
                  uStack_109b = 0x40;
                  pfStack_108c = afStack_a2c;
                  uStack_1088 = 60000;
                  if (cStack_10d5 != '\0') {
                    uStack_1084 = 1;
                  }
                  uStack_1080 = uVar20;
                  if (2 < *(int *)(iVar25 + -0x4e1c)) {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a2c);
                    puVar29 = auStack_103c;
                    if (0 < *(int *)(iVar19 + -0x4e6c)) {
                      iVar24 = 0;
                      do {
                        (**(code **)(pcVar39 + 0x1787c))(iVar30 + -0x6cd8,*puVar29);
                        iVar24 = iVar24 + 1;
                        puVar29 = puVar29 + 1;
                      } while (iVar24 < *(int *)(iVar19 + -0x4e6c));
                    }
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6424);
                  }
                  do {
                    iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2285,aiStack_10a4);
                    if (-1 < iVar24) {
                      if (2 < *(int *)(iVar25 + -0x4e1c)) {
                        (**(code **)(pcVar39 + 0x1787c))
                                  (*(int *)(pcVar39 + 0x177c0) + -0x6cac,uStack_106c);
                      }
                      uVar16 = (**(code **)(pcVar39 + 0x17840))(aiStack_10a4);
                      if (uVar16 < 0x16) {
                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        iVar10 = (*(pcVar39 + *(int *)(iVar23 + -0x53e8 + uVar16 * 4) + 0x1f788))();
                        return iVar10;
                      }
                      (**(code **)(pcVar39 + 0x177e0))
                                (*(int *)(pcVar39 + 0x177c0) + -0x6024,aiStack_10a4,
                                 1 < *(int *)(iVar25 + -0x4e1c));
                      *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =
                           *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + 1;
                      if (*(int *)(iVar19 + -0x4e68) == 0) {
                        if (uVar16 == 0) goto LAB_00016e38;
                        goto LAB_00016978;
                      }
                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x596c);
                      iVar33 = *(int *)(pcVar39 + 0x177b0);
                      goto LAB_00016e3c;
                    }
                    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();
                    iVar24 = *piVar18;
                  } while ((iVar24 == 4) || (iVar24 == 0xb));
                  if (iVar24 == 0xc) {
                    uVar16 = 0xfffffffe;
                  }
                  else {
                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a1c);
                    uVar16 = 0xffffffff;
                  }
                }
                else {
                  pfVar32 = (flags_t *)uVar27;
                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a60);
                  uVar16 = 1;
                }
LAB_00016978:
                if (uVar16 - 1 < 2) goto LAB_00016fcc;
                if (uVar16 == 0xfffffffe) {
                  if (!bVar4) {
                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;
                    goto LAB_00016ea0;
                  }
                  iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2272,&iStack_10d4);
                  if (iVar24 < 0) {
                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);
                    goto LAB_00016fcc;
                  }
                  if (iStack_10d4 < 0x2000) {
                    iStack_10d4 = 0x2000;
                  }
                  iVar24 = *(int *)(iVar33 + -20000);
                  if (iVar24 == 0) {
                    trap(7);
                  }
                  uVar31 = (iVar24 + iStack_10d4 + -1) / iVar24;
                  if ((int)uVar27 <= (int)uVar31) goto LAB_00016fcc;
                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5938,uVar31);
                  uStack_112c = uVar31;
LAB_000169f4:
                  bVar4 = false;
                  uVar27 = uVar31;
                  goto LAB_000169f8;
                }
                if (uVar16 == 6) {
                  if (!bVar4) goto LAB_000169a4;
                  iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) + -1;
                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) = iVar24;
                  if (iVar24 < 1) {
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58f0);
                    goto LAB_00016fcc;
                  }
                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5910);
                  bVar4 = false;
                  goto LAB_000169f8;
                }
                if (uVar16 == 0xb) {
                  if (bVar4) {
                    iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) + -1;
                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) = iVar24;
                    if (iVar24 < 1) {
                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58ac);
                      goto LAB_00016fcc;
                    }
                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58d0);
                    bVar4 = false;
                    goto LAB_000169f8;
                  }
                }
                else if ((int)uVar16 < 0) {
                  iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;
                  goto LAB_00016ea0;
                }
LAB_000169a4:
                if (0 < iVar35) {
                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x588c);
                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) =
                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) + 1;
                  iVar35 = iVar35 + -1;
                  uVar31 = uVar27;
                  if (0 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08)) {
                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =
                         *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + -1;
                  }
                  goto LAB_000169f4;
                }
                if (uVar16 != 0) {
LAB_00016fcc:
                  if (uVar16 == 0xfffffffe) {
                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;
                  }
                  else {
                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;
                  }
LAB_00016ea0:
                  (**(code **)(pcVar39 + 0x1787c))
                            (*(int *)(pcVar39 + 0x177c0) + -0x5864,iVar15,pfStack_1138,uVar20,
                             pfVar32);
                  goto LAB_0001628c;
                }
LAB_00016e38:
                iVar33 = *(int *)(pcVar39 + 0x177b0);
LAB_00016e3c:
                uVar16 = *(uint *)(iVar33 + -0x4dec) + uVar27;
                *(uint *)(iVar33 + -0x4df0) =
                     ((int)uVar27 >> 0x1f) +
                     (uint)(uVar16 < *(uint *)(iVar33 + -0x4dec)) + *(int *)(iVar33 + -0x4df0);
                *(uint *)(iVar33 + -0x4dec) = uVar16;
                uStack_1124 = uVar27;
                if (*(char *)(iVar19 + -0x4e77) == '\0') {
                  iVar25 = 0;
                  cVar2 = '\0';
                }
                else if (cStack_10d5 == '\0') {
                  iStack_10f4 = iStack_10f4 + 1;
                  iVar25 = 0;
                  cVar2 = '\0';
                }
                else {
                  cVar2 = '\0';
                  iVar25 = 0;
                }
              }
            }
            else {
              iVar26 = *(int *)(pcVar39 + 0x177b0);
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
LAB_00016710:
              uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dec);
              *(uint *)(iVar26 + -0x4df0) =
                   (uint)(uVar16 < *(uint *)(iVar26 + -0x4dec)) +
                   *(int *)(iVar26 + -0x4df0) + iVar33;
              *(uint *)(iVar26 + -0x4dec) = uVar16;
              cVar2 = '\0';
              iVar25 = 0;
              uStack_1124 = uVar27;
            }
            if (((*(int *)(iVar36 + -0x4e44) == 0) || (iVar17 < 1)) ||
               (uStack_1108 != 1 && uStack_1108 != 0x20)) {
LAB_00016760:
              uVar16 = *(uint *)(iVar19 + -0x4e64);
            }
            else {
              iVar17 = (**(code **)(pcVar39 + 0x17800))
                                 (iStack_1134,iStack_1120,0,0,
                                  from_block * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) +
                                  (longlong)iVar17,4);
              if (iVar17 == 0) goto LAB_00016760;
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5800);
              uVar16 = *(uint *)(iVar19 + -0x4e64);
            }
            if (((((uVar16 & 2) == 0) || (iStack_10fc < 1)) || (iVar15 != 1 && iVar15 != 0x20)) ||
               (iVar17 = (**(code **)(pcVar39 + 0x17800))(iStack_110c), iVar17 == 0)) {
              uVar16 = *(uint *)(iVar19 + -0x4e64);
            }
            else {
              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57d4);
              uVar16 = *(uint *)(iVar19 + -0x4e64);
            }
            iVar17 = *(int *)(pcVar39 + 0x177b0);
            if (((uVar16 & 1) != 0) && (0 < iVar25)) {
              if ((uStack_111c == 1 || uStack_111c == 0x20) &&
                 (iVar17 = (**(code **)(pcVar39 + 0x17800))(iVar10), iVar17 != 0)) {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57a8);
                iVar17 = *(int *)(pcVar39 + 0x177b0);
              }
              else {
                iVar17 = *(int *)(pcVar39 + 0x177b0);
              }
            }
            iVar33 = *(int *)(iVar17 + -0x4fe0);
            uVar27 = *(uint *)(iVar17 + -0x4fdc);
            if (iVar33 < 1) {
              uVar16 = 0;
              if (iVar33 != 0) goto LAB_0001726c;
              if (uVar27 == 0) goto LAB_00017264;
            }
            uVar31 = uVar27 - uStack_1124;
            iVar17 = (iVar33 - ((int)uStack_1124 >> 0x1f)) - (uint)(uVar27 < uVar31);
            iVar33 = *(int *)(pcVar39 + 0x177b0);
            *(int *)(iVar33 + -0x4fe0) = iVar17;
            *(uint *)(iVar33 + -0x4fdc) = uVar31;
            lVar42 = from_block + (int)uStack_1124;
            lVar8 = lVar43 + (int)uStack_1124;
            if ((iVar17 < 1) && ((uVar16 = 0, iVar17 != 0 || (uVar31 == 0)))) goto LAB_0001726c;
            cVar7 = cVar2;
            from_block = from_block + (int)uStack_1124;
            lVar43 = lVar43 + (int)uStack_1124;
            if (cVar2 == '\0') {
              uStack_1124 = 0;
              from_block = lVar42;
              lVar43 = lVar8;
            }
          }
          cStack_10d5 = *(char *)(iVar36 + -0x4e57);
          uVar16 = sg_read(iStack_1134,puStack_113c,uVar27,from_block,uVar31,
                           *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),
                           (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);
          uVar41 = uVar27;
          if (uVar16 == 0xfffffffe) {
            iVar17 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);
            if (-1 < iVar17) {
              iVar17 = *(int *)(pcVar39 + 0x177b0);
              if (iStack_10d4 < 0x2000) {
                iStack_10d4 = 0x2000;
                iVar17 = *(int *)(pcVar39 + 0x177b0);
              }
              iVar17 = *(int *)(iVar17 + -20000);
              if (iVar17 == 0) {
                trap(7);
              }
              uVar41 = (iVar17 + iStack_10d4 + -1) / iVar17;
              if ((int)uVar41 < (int)uVar27) {
                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c08,uVar41);
                uVar16 = sg_read(iStack_1134,puStack_113c,uVar41,from_block,uVar31,
                                 *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),
                                 (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);
                uStack_112c = uVar41;
                goto LAB_000168d4;
              }
              goto LAB_00016248;
            }
            (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);
          }
          else {
LAB_000168d4:
            if (uVar16 == 0) {
              iVar17 = *(int *)(pcVar39 + 0x177b0);
              uVar27 = uVar41;
              if ((int)uStack_10d0 < (int)uVar41) {
                iVar17 = *(int *)(pcVar39 + 0x177b0);
                *(undefined4 *)(iVar17 + -0x4fdc) = 0;
                *(undefined4 *)(iVar17 + -0x4fe0) = 0;
                iVar17 = *(int *)(pcVar39 + 0x177b0);
                uVar27 = uStack_10d0;
              }
              uVar16 = *(uint *)(iVar17 + -0x4ddc) + uVar27;
              *(uint *)(iVar17 + -0x4de0) =
                   ((int)uVar27 >> 0x1f) +
                   (uint)(uVar16 < *(uint *)(iVar17 + -0x4ddc)) + *(int *)(iVar17 + -0x4de0);
              *(uint *)(iVar17 + -0x4ddc) = uVar16;
              iVar17 = 0;
              if ((*(char *)(iVar36 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {
                iStack_10f4 = iStack_10f4 + 1;
              }
              goto LAB_0001775c;
            }
LAB_00016248:
            if (uVar16 == 0xfffffffe) {
              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;
            }
            else {
              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;
            }
            (**(code **)(pcVar39 + 0x1787c))
                      (*(int *)(pcVar39 + 0x177c0) + -0x5be0,iVar15,iStack_1128,iStack_1120,
                       from_block);
          }
LAB_0001628c:
          if (((cVar7 != '\0') && (0 < (int)uStack_1124)) && ((uStack_111c & 10) == 0)) {
            iVar36 = *(int *)(pcVar39 + 0x177b0);
            iVar17 = *(int *)(pcVar39 + 0x177b0);
            iVar15 = *(int *)(iVar36 + -20000);
            goto LAB_000162c4;
          }
        }
LAB_0001726c:
        iVar15 = *(int *)(pcVar39 + 0x177b0);
        if ((bVar3) && (iVar15 = *(int *)(pcVar39 + 0x177b0), (uStack_111c & 2) != 0)) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x574c,a_Stack_e2c);
          iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,1,0);
          if (iVar15 == 6) {
            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x572c);
            iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,0,0);
          }
          if (iVar15 == 0) goto LAB_00016028;
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56fc);
          iVar15 = *(int *)(pcVar39 + 0x177b0);
        }
      }
      else {
        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c54);
        uVar16 = 0;
        iStack_10f4 = 0;
LAB_00016028:
        iVar15 = *(int *)(pcVar39 + 0x177b0);
      }
      if (*(char *)(iVar15 + -0x4e17) != '\0') {
        calc_duration_throughput(false);
      }
      (**(code **)(pcVar39 + 0x17898))(uStack_10c4);
      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e38) != 0) {
        (**(code **)(pcVar39 + 0x17898))();
      }
      if (iStack_1134 != 0) {
        (**(code **)(pcVar39 + 0x177e8))(iStack_1134);
      }
      if ((iVar10 == 1) || ((uStack_111c & 8) != 0)) {
        iVar10 = *(int *)(pcVar39 + 0x177b0);
      }
      else {
        (**(code **)(pcVar39 + 0x177e8))(iVar10);
        iVar10 = *(int *)(pcVar39 + 0x177b0);
      }
      if (*(int *)(iVar10 + -0x4e14) < 1) {
        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) == 0 &&
            *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc) == 0) {
          iVar10 = *(int *)(pcVar39 + 0x177c0);
        }
        else {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56dc);
          iVar10 = *(int *)(pcVar39 + 0x177c0);
          if (uVar16 == 0) {
            uVar16 = 99;
          }
        }
        print_stats((char *)(iVar10 + -0x7604));
        if (iStack_10f4 == 0) {
LAB_000160d8:
          iVar10 = *(int *)(pcVar39 + 0x177b0);
        }
        else {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56c4,iStack_10f4);
          iVar10 = (**(code **)(pcVar39 + 0x1783c))(*(int *)(pcVar39 + 0x177c0) + -0x5694,0);
          if (iVar10 < 0) goto LAB_000160d8;
          iVar15 = (**(code **)(pcVar39 + 0x178a0))(iVar10,aiStack_10a4,1);
          if ((iVar15 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {
            (**(code **)(pcVar39 + 0x1787c))
                      (*(int *)(pcVar39 + 0x177c0) + -0x567c,*(int *)(pcVar39 + 0x177c0) + -0x5694);
          }
          (**(code **)(pcVar39 + 0x177e8))(iVar10);
          iVar10 = *(int *)(pcVar39 + 0x177b0);
        }
        if (*(int *)(iVar10 + -0x4dd8) != 0) {
          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5640);
        }
      }
      if ((int)uVar16 < 0) {
        uVar16 = 99;
      }
      goto LAB_000147ec;
    }
    iVar10 = *(int *)(pcVar39 + 0x177c0);
  }
  (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x6338);
  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);
  uVar16 = 0x1f;
LAB_000147ec:
  if (iStack_32c != **(int **)(pcVar39 + 0x17890)) {
    pcVar39 = *(code **)(pcVar39 + 0x17880);
    (*pcVar39)();
    return *(int *)(pcVar39 + 0x13608);
  }
  return uVar16;
LAB_000146c0:
  if (!bVar4) {
    if (bVar28) goto LAB_000146f4;
    goto LAB_00017904;
  }
  iVar10 = *(int *)(pcVar39 + 0x177b0);
  if (bVar28) {
    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63fc);
LAB_000146f4:
    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63b8);
    uVar16 = 0;
    goto LAB_000147ec;
  }
  goto LAB_00017908;
  while( true ) {
    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();
    iVar15 = *(int *)(iVar36 + -20000);
    if ((*piVar18 != 4) && (*piVar18 != 0xb)) break;
LAB_000162c4:
    iVar19 = (**(code **)(pcVar39 + 0x17844))
                       (iVar10,*(undefined4 *)(iVar17 + -0x4e34),uStack_1124 * iVar15);
    if (-1 < iVar19) {
      if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
        (**(code **)(pcVar39 + 0x1787c))
                  (*(int *)(pcVar39 + 0x177c0) + -0x55d0,
                   uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);
      }
      goto LAB_0001726c;
    }
  }
  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {
    (**(code **)(pcVar39 + 0x1787c))
              (*(int *)(pcVar39 + 0x177c0) + -0x55d0,
               uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);
  }
  (**(code **)(pcVar39 + 0x178b4))(afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x577c);
  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);
  goto LAB_0001726c;
}



/* WARNING: Removing unreachable block (ram,0x00015a7c) */
/* WARNING: Type propagation algorithm not settling */

int * FUN_000122a4(int *param_1,undefined1 *param_2)

{
  char cVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char cVar6;
  longlong lVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int *piVar14;
  int iVar15;
  uint uVar16;
  undefined4 *puVar17;
  int iVar18;
  int iVar19;
  uint uVar20;
  undefined4 uVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  char *pcVar25;
  bool bVar27;
  uint uVar26;
  undefined1 *puVar28;
  int iVar29;
  uint uVar30;
  int iVar31;
  int *unaff_s1;
  undefined1 *puVar32;
  int *unaff_s3;
  char *pcVar33;
  int iVar34;
  undefined *unaff_s4;
  int *unaff_s5;
  int iVar35;
  int *unaff_s6;
  int *unaff_s7;
  int iVar36;
  undefined *puVar37;
  code *pcVar38;
  int *unaff_s8;
  undefined4 uVar39;
  code *pcVar40;
  char *pcVar41;
  longlong lVar42;
  longlong lVar43;
  longlong lVar44;
  char **ppcVar45;
  int iStack_113c;
  char *pcStack_1138;
  int iStack_1134;
  char *pcStack_112c;
  int iStack_1128;
  char *pcStack_1124;
  int iStack_1120;
  uint uStack_111c;
  int iStack_1110;
  int iStack_110c;
  uint uStack_1108;
  int iStack_10fc;
  int iStack_10f4;
  char cStack_10d5;
  int iStack_10d4;
  char *pcStack_10d0;
  int iStack_10cc;
  int iStack_10c8;
  undefined4 uStack_10c4;
  char *pcStack_10c0;
  uint uStack_10bc;
  char *pcStack_10b8;
  uint uStack_10b4;
  undefined4 uStack_10b0;
  undefined4 uStack_10ac;
  int aiStack_10a4 [2];
  undefined1 uStack_109c;
  undefined1 uStack_109b;
  undefined1 auStack_109a [2];
  int iStack_1098;
  int iStack_1094;
  undefined1 *puStack_1090;
  char *pcStack_108c;
  undefined4 uStack_1088;
  undefined4 uStack_1084;
  undefined4 uStack_1080;
  undefined4 uStack_106c;
  undefined1 uStack_1064;
  byte bStack_1063;
  undefined1 auStack_105c [9];
  undefined1 auStack_1053 [17];
  undefined1 auStack_1042 [6];
  undefined1 auStack_103c [16];
  char acStack_102c [512];
  char acStack_e2c [512];
  char acStack_c2c [512];
  char acStack_a2c [255];
  undefined1 uStack_92d;
  char cStack_72c;
  char acStack_72b [1022];
  undefined1 uStack_32d;
  int iStack_32c;
  int *piStack_328;
  undefined1 *puStack_324;
  undefined4 uStack_320;
  undefined1 *puStack_31c;
  int *piStack_318;
  uint uStack_314;
  int *piStack_310;
  int iStack_30c;
  uint uStack_308;
  code *pcStack_304;
  undefined1 *puStack_2f0;
  undefined4 uStack_2ec;
  undefined1 *puStack_2e8;
  uint uStack_2e4;
  uint uStack_2e0;
  undefined4 *puStack_2dc;
  code *pcStack_2d8;
  int *piStack_2d0;
  code *pcStack_2cc;
  int iStack_2c8;
  undefined1 *puStack_2c4;
  int *piStack_2c0;
  int iStack_2bc;
  int iStack_2b8;
  int iStack_2b4;
  int iStack_2b0;
  int iStack_2ac;
  int iStack_2a8;
  undefined4 uStack_298;
  undefined4 uStack_294;
  int iStack_28c;
  int *piStack_288;
  int *piStack_284;
  undefined1 *puStack_280;
  int *piStack_27c;
  undefined *puStack_278;
  undefined1 *puStack_270;
  int *piStack_26c;
  int iStack_268;
  code *pcStack_264;
  int iStack_260;
  int *piStack_258;
  undefined1 *local_250;
  undefined4 local_24c;
  undefined1 *local_248;
  uint local_244;
  uint local_240;
  int *piStack_23c;
  undefined *local_238;
  int *local_22c;
  int local_21c [2];
  undefined1 local_214;
  undefined1 local_213;
  undefined1 auStack_212 [2];
  int local_210;
  int *local_20c;
  undefined1 *local_208;
  undefined1 *local_204;
  undefined4 local_200;
  undefined4 local_1fc;
  byte local_1ed;
  int *local_1e4;
  undefined1 local_1dc [16];
  undefined1 auStack_1cc [64];
  int local_18c;
  int *local_188;
  int *local_184;
  undefined1 *local_180;
  int *local_17c;
  undefined *local_178;
  int *local_174;
  int *local_170;
  int *local_16c;
  int *local_168;
  undefined4 local_164;
  undefined1 *local_158;
  undefined4 local_14c;
  int local_148;
  int *local_144;
  int *local_140;
  int *local_13c;
  int local_12c [63];
  undefined1 local_2d;
  int local_2c;
  
  local_2c = *(int *)PTR___stack_chk_guard_0002b138;
  puVar28 = (undefined1 *)0x100;
  (*(code *)PTR_strncpy_0002b0d4)(local_12c);
  local_2d = 0;
  piVar14 = local_12c;
  if (local_12c[0]._0_1_ == '\0') {
    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);
    piVar8 = (int *)0x1;
  }
  else {
    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);
    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;
    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);
    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);
    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);
    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);
    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);
    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);
    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);
    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);
    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);
    do {
      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);
      unaff_s1 = piVar10;
      if (piVar10 != (int *)0x0) {
        unaff_s1 = (int *)((int)piVar10 + 1);
        *(char *)piVar10 = '\0';
      }
      param_1 = unaff_s3;
      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
      if (iVar11 == 0) {
        *param_2 = 1;
      }
      else {
        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);
        param_1 = unaff_s5;
        if (iVar11 == 0) {
          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;
        }
        else {
          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
          if (iVar11 == 0) {
            param_2[1] = 1;
          }
          else {
            param_1 = unaff_s6;
            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
            if (iVar11 == 0) {
              param_2[2] = 1;
            }
            else {
              param_1 = unaff_s7;
              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
              if (iVar11 == 0) {
                param_2[3] = 1;
              }
              else {
                param_1 = unaff_s8;
                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                if (iVar11 == 0) {
                  param_2[4] = 1;
                }
                else {
                  param_1 = local_144;
                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                  if (iVar11 == 0) {
                    param_2[5] = 1;
                  }
                  else {
                    param_1 = local_140;
                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                    if (iVar11 == 0) {
                      param_2[6] = 1;
                    }
                    else {
                      param_1 = local_13c;
                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                      if (iVar11 == 0) {
                        param_2[7] = 1;
                      }
                      else {
                        param_1 = piVar8;
                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                        if (iVar11 == 0) {
                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;
                        }
                        else {
                          param_1 = piVar9;
                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                          if (iVar11 != 0) {
                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);
                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                            if (iVar11 == 0) {
                              param_2[8] = 1;
                            }
                            else {
                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);
                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                              if (iVar11 != 0) {
                                param_1 = piVar14;
                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);
                                piVar8 = (int *)0x1;
                                goto LAB_0001260c;
                              }
                              param_2[9] = 1;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      piVar14 = unaff_s1;
    } while (unaff_s1 != (int *)0x0);
    piVar8 = (int *)0x0;
  }
LAB_0001260c:
  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {
    return piVar8;
  }
  uVar39 = 0x12658;
  iVar11 = local_2c;
  puVar37 = PTR___stack_chk_fail_0002b128;
  (*(code *)PTR___stack_chk_fail_0002b128)();
  local_238 = puVar37 + 0x209d8;
  piVar9 = (int *)&_gp_1;
  local_22c = local_13c;
  local_18c = **(int **)(puVar37 + 0x18ae0);
  local_240 = (uint)(byte)*local_144;
  local_244 = (uint)*(byte *)((int)local_144 + 7);
  local_248 = (undefined1 *)0x0;
  local_250 = &_gp_1;
  local_24c = local_14c;
  piVar8 = (int *)local_144[3];
  local_188 = piVar14;
  local_184 = unaff_s1;
  local_180 = param_2;
  local_17c = unaff_s3;
  local_178 = unaff_s4;
  local_174 = unaff_s5;
  local_170 = unaff_s6;
  local_16c = unaff_s7;
  local_168 = unaff_s8;
  local_164 = uVar39;
  local_158 = puVar28;
  iVar12 = FUN_00011dd4(local_1dc);
  if (iVar12 == 0) {
    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);
    local_21c[0] = 0x53;
    local_214 = (undefined1)local_144[3];
    local_208 = local_1dc;
    local_21c[1] = 0xfffffffd;
    local_210 = (int)local_158 * local_148;
    local_213 = 0x40;
    local_204 = auStack_1cc;
    local_200 = 60000;
    if (local_140 == (int *)0x0) {
LAB_00012788:
      iVar13 = *(int *)(local_238 + -0x7fd8);
    }
    else {
      iVar13 = *(int *)(local_238 + -0x7fd8);
      if (*(char *)local_140 != '\0') {
        local_1fc = 1;
        goto LAB_00012788;
      }
    }
    local_20c = param_1;
    if (2 < *(int *)(iVar13 + -0x4e1c)) {
      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);
      puVar28 = local_1dc;
      if (0 < local_144[3]) {
        iVar35 = *(int *)(local_238 + -0x7fc8);
        iVar13 = 0;
        do {
          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);
          iVar13 = iVar13 + 1;
          puVar28 = puVar28 + 1;
        } while (iVar13 < local_144[3]);
      }
      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);
    }
    param_1 = local_21c;
    param_2 = (undefined1 *)0x4;
    unaff_s4 = (undefined *)0xb;
    do {
      piVar14 = param_1;
      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);
      if (-1 < iVar13) {
        piVar8 = local_1e4;
        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {
          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);
          piVar8 = local_1e4;
        }
        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);
        param_2 = local_204;
        param_1 = (int *)(uint)local_1ed;
        if (piVar10 < (int *)0x16) {
                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          piVar14 = (int *)(*(code *)(local_238 +
                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +
                                             (int)piVar10 * 4)))();
          return piVar14;
        }
        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =
             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;
        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {
          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);
          piVar8 = local_21c;
          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);
        }
        goto LAB_0001282c;
      }
      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();
      iVar13 = *piVar14;
    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));
    if (iVar13 == 0xc) {
      piVar10 = (int *)&SUB_fffffffe;
      piVar14 = param_1;
    }
    else {
      piVar14 = param_1;
      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);
      piVar10 = (int *)0xffffffff;
    }
  }
  else {
    local_250 = local_158;
    piVar14 = piVar9;
    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);
    piVar10 = (int *)0x1;
  }
LAB_0001282c:
  if (local_18c == **(int **)(local_238 + -0x7ef8)) {
    return piVar10;
  }
  pcVar38 = *(code **)(local_238 + -0x7f08);
  pcVar40 = FUN_00012d68;
  iVar11 = local_18c;
  (*pcVar38)();
  uVar16 = local_240;
  uVar20 = local_244;
  puVar32 = local_248;
  puVar28 = local_250;
  pcStack_2d8 = pcVar38 + 0x202c8;
  piStack_26c = local_140;
  puStack_270 = &_gp_1;
  piStack_27c = local_144;
  piStack_2c0 = piStack_23c;
  iStack_28c = **(int **)(pcVar38 + 0x183d0);
  iVar13 = *(int *)(local_244 + 0x1c);
  piStack_2d0 = piVar8;
  piStack_288 = piVar10;
  piStack_284 = param_1;
  puStack_280 = param_2;
  puStack_278 = unaff_s4;
  iStack_268 = iVar12;
  pcStack_264 = pcVar40;
  iStack_260 = iVar11;
  piStack_258 = piVar14;
  if ((int)piVar14 < 1) {
    iStack_2c8 = 0;
  }
  else {
    puStack_2c4 = local_248;
    iStack_2b4 = (int)local_248 << 1;
    iStack_2c8 = 0;
    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);
    iStack_2bc = *(int *)(pcVar38 + 0x18300);
    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);
    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;
    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;
    iStack_2ac = iStack_2b4;
    do {
      uStack_294 = 0;
      uStack_298 = 0;
      puStack_2dc = &uStack_298;
      uStack_2e0 = uVar16;
      uStack_2e4 = uVar20;
      puStack_2e8 = puVar32;
      puStack_2f0 = puVar28;
      uStack_2ec = local_24c;
      piVar8 = piStack_2d0;
      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);
      if ((int)piVar10 + 2U < 0x15) {
                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();
        return piVar14;
      }
      iStack_2a8 = 0;
      if (iVar13 < 1) {
        if (*(int *)(uVar20 + 0x10) == 0) {
          if (piVar10 == (int *)0x0) {
            piVar10 = (int *)0xffffffff;
          }
        }
        else {
          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);
          piVar8 = (int *)0x0;
          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);
          puStack_2f0 = puVar32;
          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);
          if (1 < (int)piVar14) {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);
          }
          if (piStack_2c0 != (int *)0x0) {
            piVar14 = (int *)((int)piVar14 + iStack_2c8);
            *piStack_2c0 = (int)piVar14;
          }
          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);
          if ((iVar11 < 1) ||
             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {
            if (iStack_2a8 != 0) {
              piVar10 = (int *)0x0;
            }
          }
          else {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);
          }
        }
        goto LAB_00013850;
      }
      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);
      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =
           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;
      iVar13 = iVar13 + -1;
      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {
        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;
      }
      piVar14 = (int *)((int)piStack_258 - iStack_2c8);
      piVar10 = piVar14;
    } while (0 < (int)piVar14);
  }
  piVar14 = piVar10;
  if (piStack_2c0 == (int *)0x0) {
    piVar10 = (int *)0x0;
  }
  else {
    *piStack_2c0 = iStack_2c8;
    piVar10 = (int *)0x0;
  }
LAB_00013850:
  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {
    return piVar10;
  }
  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);
  pcVar40 = main;
  iVar11 = iStack_28c;
  (*pcVar38)();
  pcStack_304 = pcVar40;
  uStack_308 = uVar16;
  iStack_30c = iVar13;
  piStack_310 = piVar9;
  uStack_314 = uVar20;
  piStack_318 = piVar10;
  puStack_31c = puVar28;
  uStack_320 = local_24c;
  puStack_324 = puVar32;
  piStack_328 = piVar14;
  iStack_32c = **(int **)(pcVar38 + 0x17890);
  uStack_10bc = 0xffffffff;
  pcStack_10c0 = (char *)0xffffffff;
  uStack_10b4 = 0xffffffff;
  pcStack_10b8 = (char *)0xffffffff;
  acStack_102c[0] = '\0';
  acStack_e2c[0] = '\0';
  acStack_c2c[0] = '\0';
  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;
  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;
  if (1 < iVar11) {
    lVar44 = 0;
    iStack_110c = 0;
    iStack_1110 = 0;
    pcStack_112c = (char *)0x80;
    iVar12 = 1;
    bVar27 = false;
    bVar3 = false;
    bVar2 = false;
    bVar4 = false;
    bVar5 = false;
    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);
    iVar13 = *(int *)(pcVar38 + 0x177b0);
    iVar35 = *(int *)(pcVar38 + 0x177b0);
    lVar43 = 0;
LAB_000139c0:
    piVar8 = piVar8 + 1;
    if (*piVar8 != 0) {
      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);
      uStack_32d = 0;
      if (cStack_72c == '\0') {
        pcVar33 = &cStack_72c;
      }
      else {
        pcVar33 = &cStack_72c;
        if (cStack_72c != '=') {
          pcVar25 = acStack_72b;
          do {
            pcVar33 = pcVar25;
            if (*pcVar33 == '\0') goto LAB_00013a20;
            pcVar25 = pcVar33 + 1;
          } while (*pcVar33 != '=');
        }
        *pcVar33 = '\0';
        pcVar33 = pcVar33 + 1;
      }
LAB_00013a20:
      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)
      ;
      if (iVar15 == 0) {
        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;
        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;
      }
      else {
        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)
        ;
        if (iVar15 == 0) {
          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;
          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;
        }
        else {
          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);
          if (iVar15 == 0) {
            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);
            if (pcStack_112c == (char *)0xffffffff) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);
              piVar14 = (int *)0x1;
              goto LAB_000147ec;
            }
            bVar5 = true;
          }
          else {
            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);
            if (iVar15 == 0) {
              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;
              bVar5 = true;
            }
            else {
              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);
              if (iVar15 == 0) {
                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;
                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;
                bVar4 = true;
              }
              else {
                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);
                if (iVar15 == 0) {
                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;
                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;
                }
                else {
                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);
                  if (iVar15 == 0) {
                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;
                    if (iVar15 == -1) {
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);
                      piVar14 = (int *)0x1;
                      goto LAB_000147ec;
                    }
                  }
                  else {
                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);
                    if (iVar15 == 0) {
                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);
                      uStack_92d = 0;
                      if (acStack_a2c[0] == '\0') {
                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);
                        iVar11 = *(int *)(pcVar38 + 0x177c0);
LAB_00013d7c:
                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);
                        piVar14 = (int *)0x1;
                        goto LAB_000147ec;
                      }
                      iVar15 = *(int *)(pcVar38 + 0x177c0);
                      pcVar33 = acStack_a2c;
                      do {
                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);
                        pcVar25 = pcVar41;
                        if (pcVar41 != (char *)0x0) {
                          pcVar25 = pcVar41 + 1;
                          *pcVar41 = '\0';
                        }
                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                        if (iVar18 == 0) {
                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;
                        }
                        else {
                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);
                          if ((iVar18 != 0) &&
                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {
                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                            if (iVar18 == 0) {
                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;
                            }
                            else {
                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                              if (iVar18 != 0) {
                                (**(code **)(pcVar38 + 0x1787c))
                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);
                                iVar11 = *(int *)(pcVar38 + 0x177c0);
                                goto LAB_00013d7c;
                              }
                            }
                          }
                        }
                        pcVar33 = pcVar25;
                      } while (pcVar25 != (char *)0x0);
                    }
                    else {
                      iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);
                      if (iVar15 == 0) {
                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);
                        if (iVar15 != 0) {
                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);
                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;
                          if (lVar42 == -1) {
                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);
                            piVar14 = (int *)0x1;
                            goto LAB_000147ec;
                          }
                        }
                      }
                      else {
                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);
                        if (iVar15 == 0) {
                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;
                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;
                        }
                        else {
                          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);
                          if (iVar15 == 0) {
                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;
                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);
                          }
                          else {
                            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);
                            if (iVar15 == 0) {
                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                            }
                            else {
                              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)
                              ;
                              if (iVar15 == 0) {
                                if (acStack_102c[0] != '\0') {
                                  (**(code **)(pcVar38 + 0x1787c))
                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,
                                             *(int *)(pcVar38 + 0x177c0),0x1ff);
                                  piVar14 = (int *)0x1;
                                  goto LAB_000147ec;
                                }
                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);
                              }
                              else {
                                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                   (&cStack_72c,
                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);
                                if (iVar15 == 0) {
                                  iVar15 = FUN_000122a4(pcVar33);
                                  if (iVar15 != 0) {
                                    (**(code **)(pcVar38 + 0x1787c))
                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);
                                    piVar14 = (int *)0x1;
                                    goto LAB_000147ec;
                                  }
                                }
                                else {
                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                     (&cStack_72c,
                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);
                                  if (iVar15 == 0) {
                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                  }
                                  else {
                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                       (&cStack_72c,
                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);
                                    if (iVar15 == 0) {
                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;
                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;
                                    }
                                    else {
                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                         (&cStack_72c,
                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);
                                      if (iVar15 == 0) {
                                        if (acStack_e2c[0] != '\0') {
                                          (**(code **)(pcVar38 + 0x1787c))
                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,
                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);
                                          piVar14 = (int *)0x1f;
                                          goto LAB_000147ec;
                                        }
                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);
                                      }
                                      else {
                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                           (&cStack_72c,
                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);
                                        if (iVar15 == 0) {
                                          if (acStack_c2c[0] != '\0') {
                                            (**(code **)(pcVar38 + 0x1787c))
                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,
                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);
                                            piVar14 = (int *)0x1f;
                                            goto LAB_000147ec;
                                          }
                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);
                                        }
                                        else {
                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                             (&cStack_72c,
                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)
                                          ;
                                          if (iVar15 == 0) {
                                            iVar15 = FUN_000122a4(pcVar33);
                                            if (iVar15 != 0) {
                                              (**(code **)(pcVar38 + 0x1787c))
                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);
                                              piVar14 = (int *)0x1;
                                              goto LAB_000147ec;
                                            }
                                          }
                                          else {
                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                               (&cStack_72c,
                                                                *(int *)(pcVar38 + 0x177c0) +
                                                                -0x6530);
                                            if (iVar15 == 0) {
                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                              *(int *)(iVar13 + -0x4e3c) = iVar15;
                                              *(int *)(iVar35 + -0x4e5c) = iVar15;
                                              if (iVar15 == -1) {
                                                (**(code **)(pcVar38 + 0x1787c))
                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);
                                                piVar14 = (int *)0x1;
                                                goto LAB_000147ec;
                                              }
                                            }
                                            else {
                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                 (&cStack_72c,
                                                                  *(int *)(pcVar38 + 0x177c0) +
                                                                  -0x6504);
                                              if (iVar15 == 0) {
                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);
                                                if (lVar43 == -1) {
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);
                                                  piVar14 = (int *)0x1;
                                                  goto LAB_000147ec;
                                                }
                                              }
                                              else {
                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                   (&cStack_72c,
                                                                    *(int *)(pcVar38 + 0x177c0) +
                                                                    -0x64dc);
                                                if (iVar15 == 0) {
                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)
                                                  ;
                                                  if (lVar44 == -1) {
                                                    (**(code **)(pcVar38 + 0x1787c))
                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4
                                                              );
                                                    piVar14 = (int *)0x1;
                                                    goto LAB_000147ec;
                                                  }
                                                }
                                                else {
                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                     (&cStack_72c,
                                                                      *(int *)(pcVar38 + 0x177c0) +
                                                                      -0x6630);
                                                  if (iVar15 == 0) {
                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))
                                                                       (pcVar33);
                                                    bVar2 = iVar15 != 0;
                                                  }
                                                  else {
                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                       (&cStack_72c);
                                                    if (iVar15 == 0) {
                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))
                                                                         (pcVar33);
                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +
                                                               -0x4e17) = iVar15 != 0;
                                                    }
                                                    else {
                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))
                                                                         (&cStack_72c);
                                                      if (iVar15 == 0) {
                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))
                                                                           (pcVar33);
                                                        *(undefined4 *)
                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =
                                                             uVar39;
                                                      }
                                                      else {
                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))
                                                                           (&cStack_72c);
                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||
                                                           (acStack_72b[0] == '-')) {
                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))
                                                                             (&cStack_72c,
                                                                              *(int *)(pcVar38 +
                                                                                      0x177c0) +
                                                                              -0x6470,9);
                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);
                                                          if (iVar15 != 0) {
                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)
                                                                     )(&cStack_72c,
                                                                       *(int *)(pcVar38 + 0x177c0) +
                                                                       -0x6464,9);
                                                            if (iVar15 != 0) {
                                                              iVar15 = (**(code **)(pcVar38 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar38 +
                                                                                          0x177c0) +
                                                                                  -0x6458,6);
                                                              if ((iVar15 == 0) ||
                                                                 (iVar15 = (**(code **)(pcVar38 +
                                                                                       0x178a8))
                                                                                     (&cStack_72c),
                                                                 iVar15 == 0)) {
                                                                FUN_00010fdc();
                                                                piVar14 = (int *)0x0;
                                                                goto LAB_000147ec;
                                                              }
                                                              iVar15 = (**(code **)(pcVar38 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar38 +
                                                                                          0x177c0) +
                                                                                  -0x644c,6);
                                                              if (iVar15 != 0) {
                                                                iVar15 = (**(code **)(pcVar38 +
                                                                                     0x177fc))
                                                                                   (&cStack_72c,
                                                                                    *(int *)(pcVar38
                                                                                            + 
                                                  0x177c0) + -0x6444,6);
                                                  if (iVar15 == 0) {
                                                    bVar27 = true;
                                                    goto LAB_000139b8;
                                                  }
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);
                                                  piVar14 = (int *)0x1;
                                                  goto LAB_000147ec;
                                                  }
                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =
                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                               -0x4e1c) + 1;
                                                  bVar3 = true;
                                                  goto LAB_000139b8;
                                                  }
                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);
                                                  }
                                                  *(int *)(iVar18 + -0x4e14) =
                                                       *(int *)(iVar18 + -0x4e14) + 1;
                                                  }
                                                  else {
                                                    iVar15 = iVar15 + -1;
                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);
                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)
                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                                   -0x4e14) + iVar18;
                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);
                                                    if (0 < iVar19) {
                                                      FUN_00010fdc();
                                                      piVar14 = (int *)0x0;
                                                      goto LAB_000147ec;
                                                    }
                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);
                                                    if (0 < iVar19) {
                                                      bVar3 = true;
                                                    }
                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)
                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                                   -0x4e1c) + iVar19;
                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);
                                                    if (0 < iVar31) {
                                                      bVar27 = true;
                                                    }
                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {
                                                      (**(code **)(pcVar38 + 0x1787c))
                                                                (*(int *)(pcVar38 + 0x177c0) +
                                                                 -0x64a4);
                                                      piVar14 = (int *)0x1;
                                                      goto LAB_000147ec;
                                                    }
                                                  }
                                                  }
                                                  }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
LAB_000139b8:
    iVar12 = iVar12 + 1;
    if (iVar11 == iVar12) goto LAB_000146c0;
    goto LAB_000139c0;
  }
  if (iVar11 < 2) {
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
    piVar14 = (int *)0x1f;
    goto LAB_000147ec;
  }
  lVar43 = 0;
  pcStack_112c = (char *)0x80;
  bVar4 = false;
  iStack_110c = 0;
  lVar44 = 0;
  iStack_1110 = 0;
  bVar2 = false;
  bVar5 = false;
LAB_00017904:
  iVar11 = *(int *)(pcVar38 + 0x177b0);
LAB_00017908:
  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);
  iStack_1120 = (int)lVar44;
  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);
  uVar20 = (uint)lVar43;
  if (*(int *)(iVar11 + -20000) < 1) {
    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);
  }
  if ((iStack_1110 == 0) ||
     (iVar11 = *(int *)(pcVar38 + 0x177c0),
     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {
    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {
      if ((lVar44 < 0) || (lVar43 < 0)) {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);
        piVar14 = (int *)0x1f;
        goto LAB_000147ec;
      }
      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&
         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||
          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))
      {
        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);
        piVar14 = (int *)0x1f;
        goto LAB_000147ec;
      }
      if ((int)pcStack_112c < 1) {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);
        piVar14 = (int *)0x1;
        goto LAB_000147ec;
      }
      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      iVar12 = *(int *)(pcVar38 + 0x177bc);
      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {
        pcStack_112c = (char *)0x20;
      }
      FUN_00011670(2,iVar12 + 0x1730);
      FUN_00011670(3,iVar12 + 0x1730);
      FUN_00011670(0xd,iVar12 + 0x1730);
      FUN_00011670(0x10);
      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;
      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;
      if (acStack_102c[0] == '\0') {
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
      else {
        if (acStack_102c[0] != '-') {
          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);
          uStack_1108 = FUN_00011a10(acStack_102c);
          if (iVar11 != 0) {
            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);
          }
          if ((uStack_1108 & 0x80) == 0) {
            if (((uStack_1108 & 0x20) == 0) ||
               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {
              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;
              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;
              uVar16 = 0;
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {
                uVar16 = 0x8000;
              }
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {
                uVar16 = uVar16 | 0x400;
              }
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {
                uVar16 = uVar16 | 0x4010;
              }
              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);
              if (iStack_1134 < 0) {
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,
                           acStack_102c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iStack_1134 = -0xf;
                goto LAB_00014b8c;
              }
              if (iVar11 != 0) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);
              }
              if (lVar44 < 0x100000000) {
                if (iStack_1128 == 0) {
                  iVar12 = *(int *)(pcVar38 + 0x177b0);
                  if (iStack_1120 != 0) goto LAB_00014de0;
                }
                else {
LAB_00014a24:
                  iVar12 = *(int *)(pcVar38 + 0x177b0);
                }
              }
              else {
LAB_00014de0:
                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);
                if (iVar12 < 0) {
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,
                             acStack_102c);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  iStack_1134 = -0xf;
                  goto LAB_00014b8c;
                }
                if (iVar11 == 0) goto LAB_00014a24;
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);
                iVar12 = *(int *)(pcVar38 + 0x177b0);
              }
              if ((*(int *)(iVar12 + -0x4e44) == 0) ||
                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {
                iVar11 = *(int *)(pcVar38 + 0x177b0);
              }
              else {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);
                iVar11 = *(int *)(pcVar38 + 0x177b0);
              }
              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||
                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))
              goto LAB_00014f44;
LAB_00014a68:
              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,
                         acStack_102c);
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iStack_1134 = -0x5a;
            }
            else {
              uVar16 = uStack_1108 & 0x10;
              uStack_1108 = uStack_1108 | 2;
              if (uVar16 == 0) {
LAB_00014ad0:
                uVar16 = 0x8080;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {
                  uVar16 = 0x80;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                uVar26 = uVar16 | 2;
                uVar30 = uVar16;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {
                  uVar30 = uVar16 | 0x4010;
                  uVar26 = uVar16 | 0x4012;
                }
                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);
                if (iStack_1134 < 0) {
                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);
                  uVar16 = 0;
                  if (iStack_1134 < 0) {
                    (**(code **)(pcVar38 + 0x178b4))
                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,
                               acStack_102c);
                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  uVar16 = 2;
                }
                if (iVar11 == 0) {
                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);
                  if (iVar11 != 0) {
LAB_00014c94:
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);
                    iStack_1134 = -99;
                    goto LAB_00014b8c;
                  }
                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                }
                else {
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);
                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);
                  if (iVar11 != 0) goto LAB_00014c94;
                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,
                             auStack_1053,auStack_1042,(uint)bStack_1063);
                }
                if ((uStack_1108 & 0x20) == 0) {
                  aiStack_10a4[0] =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;
                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);
                  if (iVar11 < 0) {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);
                  }
                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);
                  if ((iVar11 < 0) ||
                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  iVar11 = *(int *)(pcVar38 + 0x177b0);
                }
                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&
                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))
                goto LAB_00014a68;
                if (-1 < iStack_1134) goto LAB_00014f44;
              }
              else {
LAB_0001490c:
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);
                iStack_1134 = -0xf;
              }
            }
          }
          else {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);
            iStack_1134 = -0xf;
          }
LAB_00014b8c:
          piVar14 = (int *)-iStack_1134;
          goto LAB_000147ec;
        }
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
LAB_00014f44:
      iVar11 = 1;
      if (acStack_e2c[0] == '\0') {
        uStack_111c = 1;
      }
      else {
        if (acStack_e2c[0] != '-') {
          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);
          uStack_111c = FUN_00011a10(acStack_e2c);
          if (iVar12 != 0) {
            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);
          }
          if (((uStack_111c & 0x20) == 0) ||
             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {
            if ((uStack_111c & 0x10) == 0) {
              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;
              if ((uStack_111c & 8) != 0) {
                iVar11 = -1;
                goto LAB_00015058;
              }
              if ((uStack_111c & 4) == 0) {
                uVar16 = 0x8101;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
                  uVar16 = 0x101;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
                  uVar16 = uVar16 | 0x4010;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {
                  uVar16 = uVar16 | 8;
                }
                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);
                if (-1 < iVar11) {
LAB_00015148:
                  if (iVar12 != 0) {
                    if ((uVar16 & 0x100) == 0) {
                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;
                    }
                    else {
                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;
                    }
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);
                  }
                  if (lVar43 < 0x100000000) {
                    if (pcStack_1138 == (char *)0x0) {
                      iVar13 = *(int *)(pcVar38 + 0x177b0);
                      if (uVar20 != 0) goto LAB_00015484;
                    }
                    else {
LAB_00015194:
                      iVar13 = *(int *)(pcVar38 + 0x177b0);
                    }
                  }
                  else {
LAB_00015484:
                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);
                    if (iVar13 < 0) {
                      (**(code **)(pcVar38 + 0x178b4))
                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,
                                 acStack_e2c);
                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                      iVar11 = -0xf;
                      goto LAB_0001557c;
                    }
                    if (iVar12 == 0) goto LAB_00015194;
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);
                    iVar13 = *(int *)(pcVar38 + 0x177b0);
                  }
                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;
                  goto LAB_00015574;
                }
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,
                           acStack_e2c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iVar11 = -0xf;
              }
              else {
                uVar16 = 0x8001;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
                  uVar16 = 1;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
                  uVar16 = uVar16 | 0x4010;
                }
                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);
                if (-1 < iVar11) goto LAB_00015148;
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,
                           acStack_e2c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iVar11 = -0xf;
              }
              goto LAB_0001557c;
            }
LAB_000151ac:
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);
            iVar11 = -0xf;
          }
          else {
            uVar16 = uStack_111c & 0x10;
            uStack_111c = uStack_111c | 2;
            if (uVar16 != 0) goto LAB_000151ac;
LAB_00014fbc:
            uVar16 = 0x8082;
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
              uVar16 = 0x82;
            }
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
              uVar16 = uVar16 | 0x400;
            }
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
              uVar16 = uVar16 | 0x4010;
            }
            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);
            if (iVar11 < 0) {
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c
                        );
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iVar11 = -0xf;
              goto LAB_0001557c;
            }
            if (iVar12 == 0) {
              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);
              if (iVar12 != 0) {
LAB_000152b0:
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);
                iVar11 = -99;
                goto LAB_0001557c;
              }
              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);
              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);
              if (iVar12 != 0) goto LAB_000152b0;
              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053
                         ,auStack_1042,(uint)bStack_1063);
            }
            if ((uStack_111c & 0x20) == 0) {
              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;
              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);
              if (iVar12 < 0) {
                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);
              }
              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);
              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);
                iVar11 = -0xf;
                goto LAB_0001557c;
              }
            }
            else {
LAB_00015058:
              iVar12 = *(int *)(pcVar38 + 0x177b0);
            }
            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;
LAB_00015558:
            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);
            if (iVar12 < 0) {
              (**(code **)(pcVar38 + 0x177e8))(iVar11);
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c
                        );
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iVar11 = -0x5a;
            }
            else {
LAB_00015574:
              if (-2 < iVar11) goto LAB_000155f8;
            }
          }
LAB_0001557c:
          piVar14 = (int *)-iVar11;
          goto LAB_000147ec;
        }
        uStack_111c = 1;
      }
LAB_000155f8:
      iVar12 = 1;
      if (acStack_c2c[0] == '\0') {
        iStack_110c = -1;
      }
      else {
        iVar12 = FUN_00011a10(acStack_c2c);
        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);
        if (iStack_110c < 0) {
          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();
          piVar14 = (int *)*puVar17;
          (**(code **)(pcVar38 + 0x178b4))
                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);
          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
          goto LAB_000147ec;
        }
      }
      if (iStack_1134 == 0) {
        if (iVar11 == 1) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
          piVar14 = (int *)0x1f;
          goto LAB_000147ec;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
LAB_00015624:
        iVar35 = *(int *)(iVar13 + -0x4fe0);
      }
      else {
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;
        iVar35 = *(int *)(iVar13 + -0x4fe0);
        if (iVar11 == 1) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);
          piVar14 = (int *)0x1f;
          goto LAB_000147ec;
        }
      }
      if (iVar35 < 0) {
LAB_00015648:
        uStack_10bc = 0xffffffff;
        pcStack_10c0 = (char *)0xffffffff;
        iStack_10cc = -1;
        if ((uStack_1108 & 2) == 0) {
          if ((uStack_1108 & 0x20) != 0) {
            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);
            if (iVar13 == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);
              uStack_10bc = 0xffffffff;
              pcStack_10c0 = (char *)0xffffffff;
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;
            }
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);
            uStack_10bc = 0xffffffff;
            pcStack_10c0 = (char *)0xffffffff;
          }
        }
        else {
          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          if (iVar13 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);
            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          }
          else if (iVar13 == 0xb) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);
            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          }
          if (iVar13 == 0) {
            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);
            }
LAB_000156b8:
            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {
              pcStack_10c0 = pcStack_10c0 +
                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);
              uStack_10bc = uStack_10bc - iStack_1120;
            }
          }
          else {
            if (iVar13 == 9) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);
            }
            else if (iVar13 == 2) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);
            }
            uStack_10bc = 0xffffffff;
            pcStack_10c0 = (char *)0xffffffff;
          }
        }
LAB_000156f0:
        uStack_10b4 = 0xffffffff;
        pcStack_10b8 = (char *)0xffffffff;
        iStack_10c8 = -1;
        if ((uStack_111c & 2) == 0) {
          iVar13 = *(int *)(pcVar38 + 0x177b0);
          if ((uStack_111c & 0x20) != 0) {
            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);
            if (iVar13 == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);
              uStack_10b4 = 0xffffffff;
              pcStack_10b8 = (char *)0xffffffff;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);
              uStack_10b4 = 0xffffffff;
              pcStack_10b8 = (char *)0xffffffff;
            }
            goto LAB_00015be0;
          }
        }
        else {
          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          if (iVar13 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);
            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          }
          else if (iVar13 == 0xb) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);
            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          }
          if (iVar13 == 0) {
            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);
            }
LAB_00015bb4:
            if ((int)pcStack_10b8 <= (int)pcStack_1138) {
              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;
              if (uStack_10b4 <= uVar20) {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                goto LAB_00015be4;
              }
            }
            pcStack_10b8 = pcStack_10b8 +
                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);
            uStack_10b4 = uStack_10b4 - uVar20;
          }
          else {
            if (iVar13 == 9) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);
            }
            uStack_10b4 = 0xffffffff;
            pcStack_10b8 = (char *)0xffffffff;
          }
LAB_00015be0:
          iVar13 = *(int *)(pcVar38 + 0x177b0);
        }
LAB_00015be4:
        if (-1 < *(int *)(iVar13 + -0x4fe0)) {
LAB_00015bf0:
          iVar15 = *(int *)(pcVar38 + 0x177b0);
          goto LAB_00015bf4;
        }
        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {
          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;
            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;
          }
          else {
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||
               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&
                (uStack_10b4 < uStack_10bc)))) {
              pcVar33 = pcStack_10b8;
              uVar20 = uStack_10b4;
            }
            *(char **)(iVar13 + -0x4fe0) = pcVar33;
            *(uint *)(iVar13 + -0x4fdc) = uVar20;
          }
          goto LAB_00015bf0;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;
        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;
        pcVar33 = pcStack_10b8;
        uVar20 = uStack_10b4;
        if ((int)pcStack_10b8 < 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);
          piVar14 = (int *)0x63;
          goto LAB_000147ec;
        }
      }
      else {
        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;
        iVar15 = *(int *)(pcVar38 + 0x177b0);
        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;
LAB_00015bf4:
        pcVar33 = *(char **)(iVar15 + -0x4fe0);
        uVar20 = *(uint *)(iVar15 + -0x4fdc);
      }
      if (bVar4) {
LAB_00015cf0:
        iVar13 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))
           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);
          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        if ((uStack_111c & 2) != 0) {
          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {
            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&
               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))
            goto LAB_00015cf4;
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);
            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;
          }
          goto LAB_00015cf0;
        }
      }
LAB_00015cf4:
      iVar35 = *(int *)(pcVar38 + 0x177b0);
      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&
         (iVar35 = *(int *)(pcVar38 + 0x177b0),
         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&
         ((uStack_111c | uStack_1108) & 4) == 0)) {
        iStack_113c = (**(code **)(pcVar38 + 0x177f0))
                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);
        if (iStack_113c == 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);
          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      else {
        iStack_113c = (**(code **)(pcVar38 + 0x177f0))
                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);
        if (iStack_113c == 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);
          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      iVar13 = *(int *)(pcVar38 + 0x177b0);
      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {
        *(undefined4 *)(iVar13 + -0x4e30) = 0;
        *(undefined4 *)(iVar13 + -0x4e2c) = 0;
        (**(code **)(pcVar38 + 0x17884))();
        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;
      }
      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {
        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);
        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);
        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {
          piVar14 = (int *)0x0;
          iStack_10f4 = 0;
        }
        else {
          iStack_10f4 = 0;
          pcStack_1124 = (char *)0x0;
          iVar35 = *(int *)(pcVar38 + 0x177b0);
          iVar15 = iVar35 + -0x4e58;
          iVar18 = *(int *)(pcVar38 + 0x177b0);
          iVar19 = *(int *)(pcVar38 + 0x177c0);
          cVar6 = '\0';
          while( true ) {
            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);
            uVar39 = (undefined4)lVar43;
            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);
            iStack_1120 = (int)lVar44;
            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||
               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&
                (pcVar33 < pcStack_112c)))) {
              pcVar25 = pcVar33;
            }
            if ((uStack_1108 & 2) != 0) break;
            iVar24 = *(int *)(pcVar38 + 0x177b0);
            iVar31 = *(int *)(iVar24 + -20000);
            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))
                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {
              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
              iVar31 = *(int *)(iVar24 + -20000);
              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,
                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);
                }
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                piVar14 = (int *)0xffffffff;
                goto LAB_0001628c;
              }
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,
                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);
              iVar31 = *(int *)(pcVar38 + 0x177b0);
            }
            iVar24 = *(int *)(iVar31 + -20000);
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (iVar13 < iVar24 * (int)pcVar25) {
              *(undefined4 *)(iVar31 + -0x4fdc) = 0;
              *(undefined4 *)(iVar31 + -0x4fe0) = 0;
              if (iVar24 == 0) {
                trap(7);
              }
              pcVar25 = (char *)(iVar13 / iVar24);
              if (0 < iVar13 % iVar24) {
                pcVar25 = pcVar25 + 1;
                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =
                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;
              }
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;
            *(uint *)(iVar31 + -0x4de0) =
                 ((int)pcVar25 >> 0x1f) +
                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);
            *(char **)(iVar31 + -0x4ddc) = pcVar33;
LAB_0001775c:
            if (pcVar25 == (char *)0x0) {
LAB_00017264:
              piVar14 = (int *)0x0;
              goto LAB_0001726c;
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (acStack_c2c[0] == '\0') {
              iStack_10fc = 0;
LAB_00017770:
              cVar1 = *(char *)(iVar18 + -0x4e6f);
            }
            else {
              iVar24 = *(int *)(iVar31 + -20000);
              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))
                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),
                    iStack_10fc < 0) {
                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                iVar24 = *(int *)(iVar31 + -20000);
                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,
                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),
                               iStack_10fc);
                  }
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,
                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);
              cVar1 = *(char *)(iVar18 + -0x4e6f);
            }
            iVar31 = (int)pcVar25 >> 0x1f;
            if ((cVar1 == '\0') ||
               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&
                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))
                )))) {
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if ((uStack_111c & 8) != 0) {
                iVar24 = *(int *)(pcVar38 + 0x177b0);
                goto LAB_00016710;
              }
LAB_000175a8:
              iVar29 = *(int *)(iVar24 + -20000);
              while (iVar23 = (**(code **)(pcVar38 + 0x17844))
                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {
                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                iVar29 = *(int *)(iVar24 + -20000);
                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,
                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)
                    ;
                  }
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                (**(code **)(pcVar38 + 0x1787c))
                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,
                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);
                iVar24 = *(int *)(pcVar38 + 0x177b0);
              }
              iVar29 = *(int *)(pcVar38 + 0x177b0);
              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);
                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                if (iVar12 == 0) {
                  trap(7);
                }
                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;
                *(uint *)(iVar13 + -0x4df0) =
                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +
                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));
                *(uint *)(iVar13 + -0x4dec) = uVar20;
                if (iVar23 % iVar12 < 1) {
                  piVar14 = (int *)0xffffffff;
                }
                else {
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;
                  piVar14 = (int *)0xffffffff;
                }
                goto LAB_0001628c;
              }
              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;
              *(uint *)(iVar29 + -0x4df0) =
                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +
                   *(int *)(iVar29 + -0x4df0) + iVar31;
              *(char **)(iVar29 + -0x4dec) = pcVar33;
              cVar1 = '\0';
              pcStack_1124 = pcVar25;
            }
            else if ((uStack_111c & 8) == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {
                iVar24 = (**(code **)(pcVar38 + 0x177f0))
                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,
                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);
                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;
                if (iVar24 == 0) {
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar24 = (**(code **)(pcVar38 + 0x17888))
                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)
                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);
              if (iVar24 == 0) {
                if ((uStack_111c & 2) == 0) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);
                  }
                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);
                  if (iVar24 < 0) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);
                    piVar14 = (int *)0xf;
                    goto LAB_0001628c;
                  }
                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {
                    iVar24 = *(int *)(pcVar38 + 0x177b0);
                  }
                  else {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);
                    iVar24 = *(int *)(pcVar38 + 0x177b0);
                  }
                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;
                  *(uint *)(iVar24 + -0x4e00) =
                       *(int *)(iVar24 + -0x4e00) +
                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;
                  *(char **)(iVar24 + -0x4dfc) = pcVar33;
                  iVar23 = 0;
                  pcStack_1124 = pcVar25;
                }
                else {
                  iVar24 = *(int *)(pcVar38 + 0x177b0);
                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;
                  *(uint *)(iVar24 + -0x4e00) =
                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +
                       *(int *)(iVar24 + -0x4e00) + iVar31;
                  *(char **)(iVar24 + -0x4dfc) = pcVar33;
                  iVar23 = 0;
                  pcStack_1124 = pcVar25;
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,
                               pcVar25);
                  }
                }
              }
              else {
                iVar24 = *(int *)(pcVar38 + 0x177b0);
                if ((uStack_111c & 2) == 0) goto LAB_000175a8;
LAB_00017554:
                cStack_10d5 = *(char *)(iVar18 + -0x4e77);
                iVar34 = *(int *)(iVar18 + -0x4e5c);
                bVar3 = true;
                iVar31 = *(int *)(pcVar38 + 0x177b0);
                iVar24 = *(int *)(pcVar38 + 0x177bc);
                iVar23 = *(int *)(pcVar38 + 0x177b0);
                iVar29 = *(int *)(pcVar38 + 0x177c0);
LAB_000169f8:
                iVar36 = *(int *)(iVar31 + -20000);
                uStack_10ac = 0;
                uStack_10b0 = 0;
                pcVar33 = pcStack_1138;
                iVar22 = (*(code *)(iVar24 + 0x1dd4))
                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);
                if (iVar22 == 0) {
                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);
                  aiStack_10a4[0] = 0x53;
                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);
                  puStack_1090 = auStack_103c;
                  aiStack_10a4[1] = 0xfffffffe;
                  iStack_1098 = iVar36 * (int)pcVar25;
                  iStack_1094 = iStack_113c;
                  uStack_109b = 0x40;
                  pcStack_108c = acStack_a2c;
                  uStack_1088 = 60000;
                  if (cStack_10d5 != '\0') {
                    uStack_1084 = 1;
                  }
                  uStack_1080 = uVar39;
                  if (2 < *(int *)(iVar23 + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);
                    puVar28 = auStack_103c;
                    if (0 < *(int *)(iVar18 + -0x4e6c)) {
                      iVar22 = 0;
                      do {
                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);
                        iVar22 = iVar22 + 1;
                        puVar28 = puVar28 + 1;
                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));
                    }
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);
                  }
                  do {
                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);
                    if (-1 < iVar22) {
                      if (2 < *(int *)(iVar23 + -0x4e1c)) {
                        (**(code **)(pcVar38 + 0x1787c))
                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);
                      }
                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);
                      if (piVar14 < (int *)0x16) {
                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        piVar14 = (int *)(*(pcVar38 +
                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))
                                                   ();
                        return piVar14;
                      }
                      (**(code **)(pcVar38 + 0x177e0))
                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,
                                 1 < *(int *)(iVar23 + -0x4e1c));
                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =
                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;
                      if (*(int *)(iVar18 + -0x4e68) == 0) {
                        if (piVar14 == (int *)0x0) goto LAB_00016e38;
                        goto LAB_00016978;
                      }
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);
                      iVar31 = *(int *)(pcVar38 + 0x177b0);
                      goto LAB_00016e3c;
                    }
                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                    iVar22 = *piVar14;
                  } while ((iVar22 == 4) || (iVar22 == 0xb));
                  if (iVar22 == 0xc) {
                    piVar14 = (int *)&SUB_fffffffe;
                  }
                  else {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);
                    piVar14 = (int *)0xffffffff;
                  }
                }
                else {
                  pcVar33 = pcVar25;
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);
                  piVar14 = (int *)0x1;
                }
LAB_00016978:
                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;
                if (piVar14 == (int *)&SUB_fffffffe) {
                  if (!bVar3) {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
                    goto LAB_00016ea0;
                  }
                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);
                  if (iVar22 < 0) {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);
                    goto LAB_00016fcc;
                  }
                  if (iStack_10d4 < 0x2000) {
                    iStack_10d4 = 0x2000;
                  }
                  iVar22 = *(int *)(iVar31 + -20000);
                  if (iVar22 == 0) {
                    trap(7);
                  }
                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);
                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);
                  pcStack_112c = pcVar41;
LAB_000169f4:
                  bVar3 = false;
                  pcVar25 = pcVar41;
                  goto LAB_000169f8;
                }
                if (piVar14 == (int *)0x6) {
                  if (!bVar3) goto LAB_000169a4;
                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;
                  if (iVar22 < 1) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);
                    goto LAB_00016fcc;
                  }
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);
                  bVar3 = false;
                  goto LAB_000169f8;
                }
                if (piVar14 == (int *)0xb) {
                  if (bVar3) {
                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;
                    if (iVar22 < 1) {
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);
                      goto LAB_00016fcc;
                    }
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);
                    bVar3 = false;
                    goto LAB_000169f8;
                  }
                }
                else if ((int)piVar14 < 0) {
                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
                  goto LAB_00016ea0;
                }
LAB_000169a4:
                if (0 < iVar34) {
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;
                  iVar34 = iVar34 + -1;
                  pcVar41 = pcVar25;
                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =
                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;
                  }
                  goto LAB_000169f4;
                }
                if (piVar14 != (int *)0x0) {
LAB_00016fcc:
                  if (piVar14 == (int *)&SUB_fffffffe) {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
                  }
                  else {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
                  }
LAB_00016ea0:
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,
                             pcVar33);
                  goto LAB_0001628c;
                }
LAB_00016e38:
                iVar31 = *(int *)(pcVar38 + 0x177b0);
LAB_00016e3c:
                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;
                *(uint *)(iVar31 + -0x4df0) =
                     ((int)pcVar25 >> 0x1f) +
                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);
                *(char **)(iVar31 + -0x4dec) = pcVar33;
                pcStack_1124 = pcVar25;
                if (*(char *)(iVar18 + -0x4e77) == '\0') {
                  iVar23 = 0;
                  cVar1 = '\0';
                }
                else if (cStack_10d5 == '\0') {
                  iStack_10f4 = iStack_10f4 + 1;
                  iVar23 = 0;
                  cVar1 = '\0';
                }
                else {
                  cVar1 = '\0';
                  iVar23 = 0;
                }
              }
            }
            else {
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
LAB_00016710:
              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;
              *(uint *)(iVar24 + -0x4df0) =
                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +
                   *(int *)(iVar24 + -0x4df0) + iVar31;
              *(char **)(iVar24 + -0x4dec) = pcVar33;
              cVar1 = '\0';
              iVar23 = 0;
              pcStack_1124 = pcVar25;
            }
            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||
               (uStack_1108 != 1 && uStack_1108 != 0x20)) {
LAB_00016760:
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            else {
              iVar13 = (**(code **)(pcVar38 + 0x17800))
                                 (iStack_1134,iStack_1120,0,0,
                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +
                                  (longlong)iVar13,4);
              if (iVar13 == 0) goto LAB_00016760;
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||
               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            if (((uVar20 & 1) != 0) && (0 < iVar23)) {
              if ((uStack_111c == 1 || uStack_111c == 0x20) &&
                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);
                iVar13 = *(int *)(pcVar38 + 0x177b0);
              }
              else {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
              }
            }
            iVar31 = *(int *)(iVar13 + -0x4fe0);
            pcVar25 = *(char **)(iVar13 + -0x4fdc);
            if (iVar31 < 1) {
              piVar14 = (int *)0x0;
              if (iVar31 != 0) goto LAB_0001726c;
              if (pcVar25 == (char *)0x0) goto LAB_00017264;
            }
            pcVar33 = pcVar25 + -(int)pcStack_1124;
            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            *(int *)(iVar31 + -0x4fe0) = iVar13;
            *(char **)(iVar31 + -0x4fdc) = pcVar33;
            lVar42 = lVar44 + (int)pcStack_1124;
            lVar7 = lVar43 + (int)pcStack_1124;
            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))
            goto LAB_0001726c;
            cVar6 = cVar1;
            lVar44 = lVar44 + (int)pcStack_1124;
            lVar43 = lVar43 + (int)pcStack_1124;
            if (cVar1 == '\0') {
              pcStack_1124 = (char *)0x0;
              lVar44 = lVar42;
              lVar43 = lVar7;
            }
          }
          cStack_10d5 = *(char *)(iVar35 + -0x4e57);
          ppcVar45 = &pcStack_10d0;
          pcVar41 = &cStack_10d5;
          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);
          iVar13 = iVar15;
          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15
                                        ,pcVar41,ppcVar45);
          pcVar33 = pcVar25;
          if (piVar14 == (int *)&SUB_fffffffe) {
            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);
            if (-1 < iVar31) {
              iVar31 = *(int *)(pcVar38 + 0x177b0);
              if (iStack_10d4 < 0x2000) {
                iStack_10d4 = 0x2000;
                iVar31 = *(int *)(pcVar38 + 0x177b0);
              }
              iVar31 = *(int *)(iVar31 + -20000);
              if (iVar31 == 0) {
                trap(7);
              }
              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);
              if ((int)pcVar33 < (int)pcVar25) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);
                ppcVar45 = &pcStack_10d0;
                pcVar41 = &cStack_10d5;
                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);
                iVar13 = iVar15;
                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);
                pcStack_112c = pcVar33;
                goto LAB_000168d4;
              }
              goto LAB_00016248;
            }
            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);
          }
          else {
LAB_000168d4:
            if (piVar14 == (int *)0x0) {
              iVar13 = *(int *)(pcVar38 + 0x177b0);
              pcVar25 = pcVar33;
              if ((int)pcStack_10d0 < (int)pcVar33) {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                *(undefined4 *)(iVar13 + -0x4fdc) = 0;
                *(undefined4 *)(iVar13 + -0x4fe0) = 0;
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                pcVar25 = pcStack_10d0;
              }
              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;
              *(uint *)(iVar13 + -0x4de0) =
                   ((int)pcVar25 >> 0x1f) +
                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);
              *(char **)(iVar13 + -0x4ddc) = pcVar33;
              iVar13 = 0;
              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {
                iStack_10f4 = iStack_10f4 + 1;
              }
              goto LAB_0001775c;
            }
LAB_00016248:
            if (piVar14 == (int *)&SUB_fffffffe) {
              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
            }
            else {
              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
            }
            (**(code **)(pcVar38 + 0x1787c))
                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,
                       uVar21,iVar13,pcVar41,ppcVar45);
          }
LAB_0001628c:
          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {
            iVar35 = *(int *)(pcVar38 + 0x177b0);
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            iVar12 = *(int *)(iVar35 + -20000);
            goto LAB_000162c4;
          }
        }
LAB_0001726c:
        iVar12 = *(int *)(pcVar38 + 0x177b0);
        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);
          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);
          if (iVar12 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);
            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);
          }
          if (iVar12 == 0) goto LAB_00016028;
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);
          iVar12 = *(int *)(pcVar38 + 0x177b0);
        }
      }
      else {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);
        piVar14 = (int *)0x0;
        iStack_10f4 = 0;
LAB_00016028:
        iVar12 = *(int *)(pcVar38 + 0x177b0);
      }
      if (*(char *)(iVar12 + -0x4e17) != '\0') {
        FUN_00011264(0);
      }
      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);
      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {
        (**(code **)(pcVar38 + 0x17898))();
      }
      if (iStack_1134 != 0) {
        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);
      }
      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        (**(code **)(pcVar38 + 0x177e8))(iVar11);
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      if (*(int *)(iVar11 + -0x4e14) < 1) {
        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&
            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {
          iVar11 = *(int *)(pcVar38 + 0x177c0);
        }
        else {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);
          iVar11 = *(int *)(pcVar38 + 0x177c0);
          if (piVar14 == (int *)0x0) {
            piVar14 = (int *)0x63;
          }
        }
        FUN_00011048(iVar11 + -0x7604);
        if (iStack_10f4 == 0) {
LAB_000160d8:
          iVar11 = *(int *)(pcVar38 + 0x177b0);
        }
        else {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);
          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);
          if (iVar11 < 0) goto LAB_000160d8;
          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);
          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {
            (**(code **)(pcVar38 + 0x1787c))
                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);
          }
          (**(code **)(pcVar38 + 0x177e8))(iVar11);
          iVar11 = *(int *)(pcVar38 + 0x177b0);
        }
        if (*(int *)(iVar11 + -0x4dd8) != 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);
        }
      }
      if ((int)piVar14 < 0) {
        piVar14 = (int *)0x63;
      }
      goto LAB_000147ec;
    }
    iVar11 = *(int *)(pcVar38 + 0x177c0);
  }
  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);
  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
  piVar14 = (int *)0x1f;
LAB_000147ec:
  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {
    pcVar38 = *(code **)(pcVar38 + 0x17880);
    (*pcVar38)();
    return *(int **)(pcVar38 + 0x13608);
  }
  return piVar14;
LAB_000146c0:
  if (!bVar3) {
    if (bVar27) goto LAB_000146f4;
    goto LAB_00017904;
  }
  iVar11 = *(int *)(pcVar38 + 0x177b0);
  if (bVar27) {
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);
LAB_000146f4:
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);
    piVar14 = (int *)0x0;
    goto LAB_000147ec;
  }
  goto LAB_00017908;
  while( true ) {
    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();
    iVar12 = *(int *)(iVar35 + -20000);
    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;
LAB_000162c4:
    iVar15 = (**(code **)(pcVar38 + 0x17844))
                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);
    if (-1 < iVar15) {
      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
        (**(code **)(pcVar38 + 0x1787c))
                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,
                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);
      }
      goto LAB_0001726c;
    }
  }
  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
    (**(code **)(pcVar38 + 0x1787c))
              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,
               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);
  }
  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);
  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
  goto LAB_0001726c;
}


lui gp,0x2
addiu gp,gp,0xd8c
addu gp,gp,t9
addiu sp,sp,-0x160
sw ra,0x15c(sp)
sw s8,0x158(sp)
sw s7,0x154(sp)
sw s6,0x150(sp)
sw s5,0x14c(sp)
sw s4,0x148(sp)
sw s3,0x144(sp)
sw s2,0x140(sp)
sw s1,0x13c(sp)
sw s0,0x138(sp)
sw gp,0x10(sp)
or s2,a1,zero
lw v0,-0x7ef8(gp)
lw v0,0x0(v0)
sw v0,0x134(sp)
li a2,0x100
or a1,a0,zero
addiu a0,sp,0x34
lw t9,-0x7f5c(gp)
jalr t9
_nop
lw gp,0x10(sp)
sb zero,0x133(sp)
lb v0,0x34(sp)
beq v0,zero,0x0001238c
_addiu s0,sp,0x34
lw s3,-0x7fc8(gp)
addiu s3,s3,-0x6d84
lw s4,-0x7fc8(gp)
addiu s4,s4,-0x6d7c
lw s5,-0x7fc8(gp)
addiu s5,s5,-0x5680
lw s6,-0x7fc8(gp)
addiu s6,s6,-0x6d78
lw s7,-0x7fc8(gp)
addiu s7,s7,-0x6d70
lw s8,-0x7fc8(gp)
addiu s8,s8,-0x6d6c
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x6d64
sw v0,0x1c(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x6d5c
sw v0,0x20(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x6d54
sw v0,0x24(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x6d50
sw v0,0x28(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x6d48
b 0x000123dc
_sw v0,0x2c(sp)
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6d94
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x0001260c
_li v0,0x1
or a1,s4,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012430
_or a1,s5,zero
lw v0,0x10(s2)
addiu v0,v0,0x1
sw v0,0x10(s2)
beq s1,zero,0x00012608
_or s0,s1,zero
li a1,0x2c
or a0,s0,zero
lw t9,-0x7f30(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00012404
_or s1,v0,zero
addiu s1,v0,0x1
sb zero,0x0(v0)
or a1,s3,zero
or a0,s0,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000123ac
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x0(s2)
or a0,s0,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012458
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x1(s2)
or a1,s6,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012480
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x2(s2)
or a1,s7,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000124a8
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x3(s2)
or a1,s8,zero
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000124d0
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x4(s2)
lw a1,0x1c(sp)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000124f8
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x5(s2)
lw a1,0x20(sp)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012520
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x6(s2)
lw a1,0x24(sp)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012548
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x7(s2)
lw a1,0x28(sp)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00012574
_or a0,s0,zero
lw v0,0x14(s2)
addiu v0,v0,0x1
b 0x000123d4
_sw v0,0x14(s2)
lw a1,0x2c(sp)
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x000123d4
_or a0,s0,zero
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x66cc
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000125bc
_or a0,s0,zero
li v0,0x1
b 0x000123d4
_sb v0,0x8(s2)
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x6d40
lw t9,-0x7ee0(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000125e8
_lw a0,-0x7fc8(gp)
li v0,0x1
b 0x000123d4
_sb v0,0x9(s2)
or a1,s0,zero
addiu a0,a0,-0x6d38
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x0001260c
_li v0,0x1
or v0,zero,zero
lw a0,0x134(sp)
lw v1,-0x7ef8(gp)
lw v1,0x0(v1)
bne a0,v1,0x0001264c
_lw ra,0x15c(sp)
lw s8,0x158(sp)
lw s7,0x154(sp)
lw s6,0x150(sp)
lw s5,0x14c(sp)
lw s4,0x148(sp)
lw s3,0x144(sp)
lw s2,0x140(sp)
lw s1,0x13c(sp)
lw s0,0x138(sp)
jr ra
_addiu sp,sp,0x160
lw t9,-0x7f08(gp)
jalr t9
_nop
lui gp,0x2
addiu gp,gp,0x9d8
addu gp,gp,t9
addiu sp,sp,-0x100
sw ra,0xfc(sp)
sw s8,0xf8(sp)
sw s7,0xf4(sp)
sw s6,0xf0(sp)
sw s5,0xec(sp)
sw s4,0xe8(sp)
sw s3,0xe4(sp)
sw s2,0xe0(sp)
sw s1,0xdc(sp)
sw s0,0xd8(sp)
sw gp,0x28(sp)
or s0,a0,zero
or s1,a1,zero
sw a2,0x108(sp)
lw s6,0x110(sp)
lw s5,0x114(sp)
lw s3,0x11c(sp)
lw s7,0x120(sp)
lw v0,0x124(sp)
sw v0,0x34(sp)
lw v0,-0x7ef8(gp)
lw v0,0x0(v0)
sw v0,0xd4(sp)
lbu v0,0x3(s3)
sw v0,0x20(sp)
lbu v0,0x7(s3)
sw v0,0x1c(sp)
sw zero,0x18(sp)
sw s6,0x10(sp)
sw s5,0x14(sp)
lw a1,0xc(s3)
addiu a0,sp,0x84
lw t9,-0x7fcc(gp)
addiu t9,t9,0x1dd4
bal 0x00011dd4
_nop
lw gp,0x28(sp)
bne v0,zero,0x000127fc
_or s8,v0,zero
li a2,0x36
or a1,zero,zero
addiu a0,sp,0x4e
lw t9,-0x7f54(gp)
jalr t9
_nop
lw gp,0x28(sp)
li v0,0x53
sw v0,0x44(sp)
lw v0,0xc(s3)
sb v0,0x4c(sp)
addiu v0,sp,0x84
sw v0,0x58(sp)
li v0,-0x3
sw v0,0x48(sp)
lw v0,0x118(sp)
lw v1,0x108(sp)
mul v0,v1,v0
sw v0,0x50(sp)
sw s1,0x54(sp)
li v0,0x40
sb v0,0x4d(sp)
addiu v0,sp,0x94
sw v0,0x5c(sp)
ori v0,zero,0xea60
sw v0,0x60(sp)
beq s7,zero,0x00012788
_sw s5,0x68(sp)
lbu v0,0x0(s7)
beq v0,zero,0x0001278c
_lw v0,-0x7fd8(gp)
li v0,0x1
sw v0,0x64(sp)
lw v0,-0x7fd8(gp)
lw v0,-0x4e1c(v0)
slti v0,v0,0x3
beq v0,zero,0x0001286c
_addiu s1,sp,0x44
li s2,0x4
li s4,0xb
or a2,s1,zero
li a1,0x2285
or a0,s0,zero
lw t9,-0x7f10(gp)
jalr t9
_nop
lw gp,0x28(sp)
bgez v0,0x00012904
_lw t9,-0x7f58(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw v0,0x0(v0)
beq v0,s2,0x000127a8
_or a2,s1,zero
beq v0,s4,0x000127ac
_li a1,0x2285
li v1,0xc
bne v0,v1,0x000128e8
_lw a0,-0x7fc8(gp)
b 0x00012828
_li s0,-0x2
lw v0,0x108(sp)
sw v0,0x10(sp)
or a2,s6,zero
or a3,s5,zero
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6d20
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x28(sp)
li s0,0x1
or v0,s0,zero
lw a0,0xd4(sp)
lw v1,-0x7ef8(gp)
lw v1,0x0(v1)
bne a0,v1,0x00012d5c
_lw ra,0xfc(sp)
lw s8,0xf8(sp)
lw s7,0xf4(sp)
lw s6,0xf0(sp)
lw s5,0xec(sp)
lw s4,0xe8(sp)
lw s3,0xe4(sp)
lw s2,0xe0(sp)
lw s1,0xdc(sp)
lw s0,0xd8(sp)
jr ra
_addiu sp,sp,0x100
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6ce8
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw v0,0xc(s3)
blez v0,0x000128c8
_addiu s2,sp,0x84
or s1,s8,zero
lw s4,-0x7fc8(gp)
addiu s4,s4,-0x6cd8
lbu a1,0x0(s2)
or a0,s4,zero
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x28(sp)
addiu s1,s1,0x1
lw v0,0xc(s3)
slt v0,s1,v0
bne v0,zero,0x0001289c
_addiu s2,s2,0x1
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6424
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x0001279c
_addiu s1,sp,0x44
addiu a0,a0,-0x6cd0
lw t9,-0x7f14(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x00012828
_li s0,-0x1
lw v0,-0x7fd8(gp)
lw v0,-0x4e1c(v0)
slti v0,v0,0x3
beq v0,zero,0x00012960
_lw a1,0x7c(sp)
addiu a0,sp,0x44
lw t9,-0x7f48(gp)
jalr t9
_nop
lw gp,0x28(sp)
or s0,v0,zero
lw s2,0x5c(sp)
sltiu v0,v0,0x16
beq v0,zero,0x00012bdc
_lbu s1,0x73(sp)
sll v0,s0,0x2
lw v1,-0x7fc8(gp)
addiu v1,v1,-0x5530
addu v0,v1,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x6cac
lw t9,-0x7f0c(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x0001291c
_addiu a0,sp,0x44
lw v1,-0x7fd8(gp)
lw v0,-0x4e08(v1)
addiu v0,v0,0x1
sw v0,-0x4e08(v1)
lw v0,-0x7fd8(gp)
lw v0,-0x4e1c(v0)
blez v0,0x00012828
_slti v0,v0,0x2
xori a2,v0,0x1
addiu a1,sp,0x44
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x61f8
lw t9,-0x7fa8(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x0001282c
_or v0,s0,zero
lw t9,-0x7f08(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00015a7c) */\n/* WARNING: Type propagation algorithm not settling */\n\nint * FUN_000122a4(int *param_1,undefined1 *param_2)\n\n{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}\n\n" comment comment (function_definition "int * FUN_000122a4(int *param_1,undefined1 *param_2)\n\n{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}" primitive_type (pointer_declarator "* FUN_000122a4(int *param_1,undefined1 *param_2)" * (function_declarator "FUN_000122a4(int *param_1,undefined1 *param_2)" identifier (parameter_list "(int *param_1,undefined1 *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                            
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00015a7c) */\n\nint process_flags(char *arg,flags_t *fp)\n\n{\n  _Bool _Var1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  longlong lVar8;\n  char *pcVar9;\n  int iVar10;\n  flags_t *pfVar11;\n  flags_t *pfVar12;\n  flags_t *pfVar13;\n  flags_t *pfVar14;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  undefined4 uVar20;\n  char *pcVar21;\n  uint *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  uint uVar27;\n  bool bVar28;\n  undefined1 *puVar29;\n  int iVar30;\n  undefined4 in_a3;\n  undefined1 write_true;\n  uint uVar31;\n  flags_t *pfVar32;\n  int iVar33;\n  flags_t *unaff_s1;\n  uint8_t *puVar34;\n  flags_t *unaff_s3;\n  int iVar35;\n  undefined *unaff_s4;\n  flags_t *unaff_s5;\n  int iVar36;\n  flags_t *unaff_s6;\n  flags_t *unaff_s7;\n  int iVar37;\n  undefined *puVar38;\n  flags_t *unaff_s8;\n  code *pcVar39;\n  code *pcVar40;\n  uint uVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong from_block;\n  uint8_t *puStack_113c;\n  flags_t *pfStack_1138;\n  int iStack_1134;\n  uint uStack_112c;\n  int iStack_1128;\n  uint uStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  uint uStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  flags_t *pfStack_10c0;\n  uint uStack_10bc;\n  flags_t *pfStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  uint8_t *puStack_1094;\n  undefined1 *puStack_1090;\n  flags_t *pfStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  _Bool a_Stack_102c [512];\n  _Bool a_Stack_e2c [512];\n  char acStack_c2c [512];\n  flags_t afStack_a2c [7];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  flags_t *pfStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int iStack_318;\n  uint uStack_314;\n  flags_t *pfStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  flags_t *pfStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  flags_t *pfStack_288;\n  flags_t *pfStack_284;\n  flags_t *pfStack_280;\n  flags_t *pfStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  flags_t *pfStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  flags_t *pfStack_258;\n  undefined1 *puVar44;\n  undefined1 *puVar45;\n  int *piStack_23c;\n  flags_t fStack_21c;\n  undefined4 uStack_1fc;\n  byte bStack_1ed;\n  flags_t *pfStack_1e4;\n  uint8_t auStack_1dc [16];\n  flags_t afStack_1cc [2];\n  int iStack_18c;\n  flags_t *pfStack_188;\n  flags_t *pfStack_184;\n  flags_t *pfStack_180;\n  flags_t *pfStack_17c;\n  undefined *puStack_178;\n  flags_t *pfStack_174;\n  flags_t *pfStack_170;\n  flags_t *pfStack_16c;\n  flags_t *pfStack_168;\n  code *pcStack_164;\n  undefined1 *puStack_158;\n  undefined4 uStack_14c;\n  int iStack_148;\n  flags_t *local_144;\n  flags_t *local_140;\n  char buff [256];\n  \n  iVar10 = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar29 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(buff);\n  write_true = (undefined1)in_a3;\n  buff[0xff] = '\0';\n  pfVar32 = (flags_t *)buff;\n  if (buff[0] == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    iVar15 = 1;\n  }\n  else {\n    unaff_s3 = (flags_t *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (flags_t *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (flags_t *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (flags_t *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (flags_t *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (flags_t *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (flags_t *)(PTR_DAT_0002b068 + -0x6d5c);\n    pfVar11 = (flags_t *)(PTR_DAT_0002b068 + -0x6d54);\n    pfVar12 = (flags_t *)(PTR_DAT_0002b068 + -0x6d50);\n    pfVar13 = (flags_t *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      pfVar14 = (flags_t *)(*(code *)PTR_strchr_0002b100)(pfVar32,0x2c);\n      unaff_s1 = pfVar14;\n      if (pfVar14 != (flags_t *)0x0) {\n        unaff_s1 = (flags_t *)&pfVar14->dio;\n        pfVar14->append = false;\n      }\n      arg = (char *)unaff_s3;\n      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n      if (iVar15 == 0) {\n        fp->append = true;\n      }\n      else {\n        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32,unaff_s4);\n        arg = (char *)unaff_s5;\n        if (iVar15 == 0) {\n          fp->coe = fp->coe + 1;\n        }\n        else {\n          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n          if (iVar15 == 0) {\n            fp->dio = true;\n          }\n          else {\n            arg = (char *)unaff_s6;\n            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n            if (iVar15 == 0) {\n              fp->direct = true;\n            }\n            else {\n              arg = (char *)unaff_s7;\n              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n              if (iVar15 == 0) {\n                fp->dpo = true;\n              }\n              else {\n                arg = (char *)unaff_s8;\n                iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                if (iVar15 == 0) {\n                  fp->dsync = true;\n                }\n                else {\n                  arg = (char *)local_144;\n                  iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                  if (iVar15 == 0) {\n                    fp->excl = true;\n                  }\n                  else {\n                    arg = (char *)local_140;\n                    iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                    if (iVar15 == 0) {\n                      fp->flock = true;\n                    }\n                    else {\n                      arg = (char *)pfVar11;\n                      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                      if (iVar15 == 0) {\n                        fp->fua = true;\n                      }\n                      else {\n                        arg = (char *)pfVar12;\n                        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                        if (iVar15 == 0) {\n                          fp->nocache = fp->nocache + 1;\n                        }\n                        else {\n                          arg = (char *)pfVar13;\n                          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                          if (iVar15 != 0) {\n                            arg = PTR_DAT_0002b068 + -0x66cc;\n                            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                            if (iVar15 == 0) {\n                              fp->sgio = true;\n                            }\n                            else {\n                              arg = PTR_DAT_0002b068 + -0x6d40;\n                              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                              write_true = (undefined1)in_a3;\n                              if (iVar15 != 0) {\n                                arg = &pfVar32->append;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                iVar15 = 1;\n                                goto LAB_0001260c;\n                              }\n                              fp->sparse = true;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      write_true = (undefined1)in_a3;\n      pfVar32 = unaff_s1;\n    } while (unaff_s1 != (flags_t *)0x0);\n    iVar15 = 0;\n  }\nLAB_0001260c:\n  if (iVar10 == *(int *)PTR___stack_chk_guard_0002b138) {\n    return iVar15;\n  }\n  pcVar39 = sg_read_low;\n  puVar38 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  pfVar12 = (flags_t *)&_gp;\n  iStack_18c = **(int **)(puVar38 + 0x18ae0);\n  _Var1 = local_144->dpo;\n  uVar16 = (uint)local_144->fua;\n  puVar45 = (undefined1 *)0x0;\n  puVar44 = &_gp;\n  pfVar11 = (flags_t *)local_144->cdbsz;\n  pfStack_188 = pfVar32;\n  pfStack_184 = unaff_s1;\n  pfStack_180 = fp;\n  pfStack_17c = unaff_s3;\n  puStack_178 = unaff_s4;\n  pfStack_174 = unaff_s5;\n  pfStack_170 = unaff_s6;\n  pfStack_16c = unaff_s7;\n  pfStack_168 = unaff_s8;\n  pcStack_164 = pcVar39;\n  puStack_158 = puVar29;\n  iVar15 = sg_build_scsi_cdb(auStack_1dc,(int)pfVar11,(uint)puVar29,CONCAT44(&_gp,uStack_14c),\n                             (_Bool)write_true,false,local_144->fua);\n  if (iVar15 == 0) {\n    (**(code **)(puVar38 + 0x18a84))(&fStack_21c.field_0xa,0,0x36);\n    fStack_21c.append = false;\n    fStack_21c.dio = false;\n    fStack_21c.direct = false;\n    fStack_21c.dpo = true;\n    fStack_21c.sgio = SUB41(local_144->cdbsz,0);\n    fStack_21c.nocache = (int)auStack_1dc;\n    fStack_21c.dsync = true;\n    fStack_21c.excl = true;\n    fStack_21c.flock = true;\n    fStack_21c.fua = true;\n    fStack_21c.cdbsz = (int)puStack_158 * iStack_148;\n    fStack_21c.sparse = true;\n    fStack_21c.pdt = (int)afStack_1cc;\n    fStack_21c.retries = 60000;\n    if (local_140 == (flags_t *)0x0) {\nLAB_00012788:\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n    }\n    else {\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n      if (local_140->append != false) {\n        uStack_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    fStack_21c.coe = (int)arg;\n    if (2 < *(int *)(iVar17 + -0x4e1c)) {\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6ce8);\n      puVar34 = auStack_1dc;\n      if (0 < local_144->cdbsz) {\n        iVar36 = *(int *)(puVar38 + 0x18a10);\n        iVar17 = 0;\n        do {\n          (**(code **)(puVar38 + 0x18acc))(iVar36 + -0x6cd8,*puVar34);\n          iVar17 = iVar17 + 1;\n          puVar34 = puVar34 + 1;\n        } while (iVar17 < local_144->cdbsz);\n      }\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6424);\n    }\n    arg = &fStack_21c.append;\n    fp = (flags_t *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      pfVar32 = (flags_t *)arg;\n      iVar17 = (**(code **)(puVar38 + 0x18ac8))(iVar10,0x2285);\n      if (-1 < iVar17) {\n        pfVar11 = pfStack_1e4;\n        if (2 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6cac);\n          pfVar11 = pfStack_1e4;\n        }\n        pfVar13 = (flags_t *)(**(code **)(puVar38 + 0x18a90))(&fStack_21c);\n        fp = (flags_t *)fStack_21c.pdt;\n        arg = (char *)(uint)bStack_1ed;\n        if (pfVar13 < (flags_t *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar10 = (*(code *)(puVar38 +\n                             *(int *)(*(int *)(puVar38 + 0x18a10) + -0x5530 + (int)pfVar13 * 4) +\n                             0x209d8))();\n          return iVar10;\n        }\n        *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) =\n             *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          pfVar32 = (flags_t *)(*(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c) < 2 ^ 1);\n          pfVar11 = &fStack_21c;\n          (**(code **)(puVar38 + 0x18a30))(*(int *)(puVar38 + 0x18a10) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar18 = (int *)(**(code **)(puVar38 + 0x18a80))();\n      iVar17 = *piVar18;\n    } while ((iVar17 == 4) || (pfVar11 = (flags_t *)0x2285, iVar17 == 0xb));\n    if (iVar17 == 0xc) {\n      pfVar13 = (flags_t *)&SUB_fffffffe;\n      pfVar32 = (flags_t *)arg;\n    }\n    else {\n      pfVar32 = (flags_t *)arg;\n      (**(code **)(puVar38 + 0x18ac4))(*(int *)(puVar38 + 0x18a10) + -0x6cd0);\n      pfVar13 = (flags_t *)0xffffffff;\n    }\n  }\n  else {\n    pfVar32 = pfVar12;\n    puVar44 = puStack_158;\n    (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6d20);\n    pfVar13 = (flags_t *)0x1;\n  }\nLAB_0001282c:\n  if (iStack_18c == **(int **)(puVar38 + 0x18ae0)) {\n    return (int)pfVar13;\n  }\n  pcVar39 = *(code **)(puVar38 + 0x18ad0);\n  pcVar40 = sg_read;\n  iVar10 = iStack_18c;\n  (*pcVar39)();\n  pcStack_2d8 = pcVar39 + 0x202c8;\n  pfStack_26c = local_140;\n  puStack_270 = &_gp;\n  pfStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar39 + 0x183d0);\n  iVar17 = *(int *)(uVar16 + 0x1c);\n  pfStack_2d0 = pfVar11;\n  pfStack_288 = pfVar13;\n  pfStack_284 = (flags_t *)arg;\n  pfStack_280 = fp;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar15;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar10;\n  pfStack_258 = pfVar32;\n  if ((int)pfVar32 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    iStack_2b4 = (int)puVar45 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(&DAT_00002658 + *(int *)(pcVar39 + 0x182fc));\n    iStack_2bc = *(int *)(pcVar39 + 0x18300);\n    pfVar12 = (flags_t *)(*(int *)(pcVar39 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar39 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar39 + 0x18300) + -0x5484;\n    puStack_2c4 = puVar45;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      pfVar11 = pfStack_2d0;\n      puStack_2f0 = puVar44;\n      puStack_2e8 = puVar45;\n      uStack_2e4 = uVar16;\n      uStack_2e0 = (uint)_Var1;\n      iVar10 = (*pcStack_2cc)(iStack_260,pfStack_2d0,pfVar32);\n      if (iVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar10 = (*(pcStack_2d8 + *(int *)(&pfVar12->sgio + iVar10 * 4)))();\n        return iVar10;\n      }\n      iStack_2a8 = 0;\n      if (iVar17 < 1) {\n        if (*(int *)(uVar16 + 0x10) == 0) {\n          if (iVar10 == 0) {\n            iVar10 = -1;\n          }\n        }\n        else {\n          puVar45 = (undefined1 *)((int)puVar45 * (int)pfVar32);\n          pfVar11 = (flags_t *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(pfStack_2d0,0,puVar45);\n          puStack_2f0 = puVar45;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)pfVar32) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            pfVar32 = (flags_t *)(&pfVar32->append + iStack_2c8);\n            *piStack_2c0 = (int)pfVar32;\n          }\n          iVar15 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar15 < 1) ||\n             (iVar36 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar36, iVar36 <= iVar15)) {\n            if (iStack_2a8 != 0) {\n              iVar10 = 0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar17 = iVar17 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      pfVar32 = (flags_t *)((int)pfStack_258 - iStack_2c8);\n      pfVar13 = pfVar32;\n    } while (0 < (int)pfVar32);\n  }\n  pfVar32 = pfVar13;\n  if (piStack_2c0 == (int *)0x0) {\n    iVar10 = 0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    iVar10 = 0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return iVar10;\n  }\n  pcVar39 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar15 = iStack_28c;\n  (*pcVar39)();\n  pcStack_304 = pcVar40;\n  uStack_308 = (uint)_Var1;\n  iStack_30c = iVar17;\n  pfStack_310 = pfVar12;\n  uStack_314 = uVar16;\n  iStack_318 = iVar10;\n  puStack_31c = puVar44;\n  uStack_320 = uStack_14c;\n  puStack_324 = puVar45;\n  pfStack_328 = pfVar32;\n  iStack_32c = **(int **)(pcVar39 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pfStack_10c0 = (flags_t *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pfStack_10b8 = (flags_t *)0xffffffff;\n  a_Stack_102c[0] = false;\n  a_Stack_e2c[0] = false;\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar15) {\n    from_block = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    uStack_112c = 0x80;\n    iVar10 = 1;\n    bVar28 = false;\n    bVar4 = false;\n    bVar3 = false;\n    bVar5 = false;\n    bVar6 = false;\n    pcVar40 = (code *)(*(int *)(pcVar39 + 0x177bc) + 0xfb0);\n    iVar17 = *(int *)(pcVar39 + 0x177b0);\n    iVar36 = *(int *)(pcVar39 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    iVar19._0_1_ = pfVar11->dsync;\n    iVar19._1_1_ = pfVar11->excl;\n    iVar19._2_1_ = pfVar11->flock;\n    iVar19._3_1_ = pfVar11->fua;\n    if (iVar19 != 0) {\n      (**(code **)(pcVar39 + 0x1782c))(&cStack_72c,iVar19,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar21 = &cStack_72c;\n      }\n      else {\n        pcVar21 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar9 = acStack_72b;\n          do {\n            pcVar21 = pcVar9;\n            if (*pcVar21 == '\0') goto LAB_00013a20;\n            pcVar9 = pcVar21 + 1;\n          } while (*pcVar21 != '=');\n        }\n        *pcVar21 = '\0';\n        pcVar21 = pcVar21 + 1;\n      }\nLAB_00013a20:\n      iVar19 = (**(code **)(pcVar39 + 0x177fc))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n        *(bool *)(iVar17 + -0x4e58) = iVar19 != 0;\n        *(bool *)(iVar36 + -0x4e78) = iVar19 != 0;\n      }\n      else {\n        iVar19 = (**(code **)(pcVar39 + 0x178a8))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar19 == 0) {\n          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n          *(bool *)(iVar17 + -0x4e50) = iVar19 != 0;\n          *(bool *)(iVar36 + -0x4e70) = iVar19 != 0;\n        }\n        else {\n          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66c4);\n          if (iVar19 == 0) {\n            uStack_112c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n            if (uStack_112c == 0xffffffff) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x66c0);\n              uVar16 = 1;\n              goto LAB_000147ec;\n            }\n            bVar6 = true;\n          }\n          else {\n            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66a0);\n            if (iVar19 == 0) {\n              uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n              *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = uVar20;\n              bVar6 = true;\n            }\n            else {\n              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x669c);\n              if (iVar19 == 0) {\n                uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                *(undefined4 *)(iVar17 + -0x4e4c) = uVar20;\n                *(undefined4 *)(iVar36 + -0x4e6c) = uVar20;\n                bVar5 = true;\n              }\n              else {\n                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d7c);\n                if (iVar19 == 0) {\n                  uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                  *(undefined4 *)(iVar17 + -0x4e48) = uVar20;\n                  *(undefined4 *)(iVar36 + -0x4e68) = uVar20;\n                }\n                else {\n                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6694);\n                  if (iVar19 == 0) {\n                    iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e24) = iVar19;\n                    if (iVar19 == -1) {\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6688);\n                      uVar16 = 1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6660);\n                    if (iVar19 == 0) {\n                      (**(code **)(pcVar39 + 0x1782c))(afStack_a2c,pcVar21,0x100);\n                      uStack_92d = 0;\n                      if (afStack_a2c[0].append == false) {\n                        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6658);\n                        iVar10 = *(int *)(pcVar39 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -22000);\n                        uVar16 = 1;\n                        goto LAB_000147ec;\n                      }\n                      iVar19 = *(int *)(pcVar39 + 0x177c0);\n                      pfVar32 = afStack_a2c;\n                      do {\n                        pfVar13 = (flags_t *)(**(code **)(pcVar39 + 0x17858))(pfVar32,0x2c);\n                        pfVar12 = pfVar13;\n                        if (pfVar13 != (flags_t *)0x0) {\n                          pfVar12 = (flags_t *)&pfVar13->dio;\n                          pfVar13->append = false;\n                        }\n                        iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                        if (iVar23 == 0) {\n                          *(int *)(iVar17 + -0x4e48) = *(int *)(iVar17 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32,iVar19 + -0x6638);\n                          if ((iVar23 != 0) &&\n                             (iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32), iVar23 != 0)) {\n                            iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                            if (iVar23 == 0) {\n                              *(undefined1 *)(iVar36 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                              if (iVar23 != 0) {\n                                (**(code **)(pcVar39 + 0x1787c))\n                                          (*(int *)(pcVar39 + 0x177c0) + -0x6d38);\n                                iVar10 = *(int *)(pcVar39 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pfVar32 = pfVar12;\n                      } while (pfVar12 != (flags_t *)0x0);\n                    }\n                    else {\n                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6628);\n                      if (iVar19 == 0) {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (*(int *)(pcVar39 + 0x177c0) + -0x6620);\n                        if (iVar19 != 0) {\n                          lVar42 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                          *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x661c);\n                            uVar16 = 1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x5680);\n                        if (iVar19 == 0) {\n                          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                          *(bool *)(iVar36 + -0x4e77) = iVar19 != 0;\n                          *(bool *)(iVar17 + -0x4e57) = iVar19 != 0;\n                        }\n                        else {\n                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d54);\n                          if (iVar19 == 0) {\n                            iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            *(byte *)(iVar36 + -0x4e71) = (byte)iVar19 & 1;\n                            *(byte *)(iVar17 + -0x4e51) = (byte)((uint)(iVar19 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f8);\n                            if (iVar19 == 0) {\n                              iStack_1110 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            }\n                            else {\n                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar19 == 0) {\n                                if (a_Stack_102c[0] != false) {\n                                  (**(code **)(pcVar39 + 0x1787c))\n                                            (*(int *)(pcVar39 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                  uVar16 = 1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar39 + 0x1782c))(a_Stack_102c);\n                              }\n                              else {\n                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar39 + 0x177c0) + -0x65d4);\n                                if (iVar19 == 0) {\n                                  iVar19 = process_flags(pcVar21,(flags_t *)(iVar17 + -0x4e58));\n                                  if (iVar19 != 0) {\n                                    (**(code **)(pcVar39 + 0x1787c))\n                                              (*(int *)(pcVar39 + 0x177c0) + -0x65cc);\n                                    uVar16 = 1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar39 + 0x177c0) + -0x65a8);\n                                  if (iVar19 == 0) {\n                                    iStack_110c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                  }\n                                  else {\n                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar39 + 0x177c0) + -0x65a4);\n                                    if (iVar19 == 0) {\n                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                      *(bool *)(iVar17 + -0x4e56) = iVar19 != 0;\n                                      *(bool *)(iVar36 + -0x4e76) = iVar19 != 0;\n                                    }\n                                    else {\n                                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar39 + 0x177c0) + -0x659c);\n                                      if (iVar19 == 0) {\n                                        if (a_Stack_e2c[0] != false) {\n                                          (**(code **)(pcVar39 + 0x1787c))\n                                                    (*(int *)(pcVar39 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                          uVar16 = 0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar39 + 0x1782c))(a_Stack_e2c);\n                                      }\n                                      else {\n                                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar39 + 0x177c0) + -0x657c);\n                                        if (iVar19 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar39 + 0x1787c))\n                                                      (*(int *)(pcVar39 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                            uVar16 = 0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar39 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar39 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar19 == 0) {\n                                            iVar19 = process_flags(pcVar21,(flags_t *)\n                                                                           (iVar36 + -0x4e78));\n                                            if (iVar19 != 0) {\n                                              (**(code **)(pcVar39 + 0x1787c))\n                                                        (*(int *)(pcVar39 + 0x177c0) + -0x6554);\n                                              uVar16 = 1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar39 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar19 == 0) {\n                                              iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                              *(int *)(iVar17 + -0x4e3c) = iVar19;\n                                              *(int *)(iVar36 + -0x4e5c) = iVar19;\n                                              if (iVar19 == -1) {\n                                                (**(code **)(pcVar39 + 0x1787c))\n                                                          (*(int *)(pcVar39 + 0x177c0) + -0x6528);\n                                                uVar16 = 1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar39 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar19 == 0) {\n                                                lVar43 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x64fc);\n                                                  uVar16 = 1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar39 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar19 == 0) {\n                                                  from_block = (**(code **)(pcVar39 + 0x17828))\n                                                                         (pcVar21);\n                                                  if (from_block == -1) {\n                                                    (**(code **)(pcVar39 + 0x1787c))\n                                                              (*(int *)(pcVar39 + 0x177c0) + -0x64d4\n                                                              );\n                                                    uVar16 = 1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar39 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar19 == 0) {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                       (pcVar21);\n                                                    bVar3 = iVar19 != 0;\n                                                  }\n                                                  else {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar19 == 0) {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                         (pcVar21);\n                                                      *(bool *)(*(int *)(pcVar39 + 0x177b0) +\n                                                               -0x4e17) = iVar19 != 0;\n                                                    }\n                                                    else {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar19 == 0) {\n                                                        uVar20 = (**(code **)(pcVar39 + 0x1780c))\n                                                                           (pcVar21);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =\n                                                             uVar20;\n                                                      }\n                                                      else {\n                                                        iVar19 = (**(code **)(pcVar39 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar19 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar39 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar23 = *(int *)(pcVar39 + 0x177b0);\n                                                          if (iVar19 != 0) {\n                                                            iVar19 = (**(code **)(pcVar39 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar39 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar19 != 0) {\n                                                              iVar19 = (**(code **)(pcVar39 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar39 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar19 == 0) ||\n                                                                 (iVar19 = (**(code **)(pcVar39 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar19 == 0)) {\n                                                                usage();\n                                                                uVar16 = 0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar19 = (**(code **)(pcVar39 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar39 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar19 != 0) {\n                                                                iVar19 = (**(code **)(pcVar39 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar39\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar19 == 0) {\n                                                    bVar28 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x6420);\n                                                  uVar16 = 1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar4 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar23 = *(int *)(pcVar39 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar23 + -0x4e14) =\n                                                       *(int *)(iVar23 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar19 = iVar19 + -1;\n                                                    iVar23 = (*pcVar40)(acStack_72b,iVar19,100);\n                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                                   -0x4e14) + iVar23;\n                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x68);\n                                                    if (0 < iVar33) {\n                                                      usage();\n                                                      uVar16 = 0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x76);\n                                                    if (0 < iVar33) {\n                                                      bVar4 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                                   -0x4e1c) + iVar33;\n                                                    iVar26 = (*pcVar40)(acStack_72b,iVar19,0x56);\n                                                    if (0 < iVar26) {\n                                                      bVar28 = true;\n                                                    }\n                                                    if (iVar23 + iVar33 + iVar26 < iVar19) {\n                                                      (**(code **)(pcVar39 + 0x1787c))\n                                                                (*(int *)(pcVar39 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      uVar16 = 1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar10 = iVar10 + 1;\n    pfVar11 = (flags_t *)&pfVar11->dsync;\n    if (iVar15 == iVar10) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar15 < 2) {\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n    uVar16 = 0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  uStack_112c = 0x80;\n  bVar5 = false;\n  iStack_110c = 0;\n  from_block = 0;\n  iStack_1110 = 0;\n  bVar3 = false;\n  bVar6 = false;\nLAB_00017904:\n  iVar10 = *(int *)(pcVar39 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)from_block >> 0x20);\n  iStack_1120 = (int)from_block;\n  pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);\n  uVar16 = (uint)lVar43;\n  if (*(int *)(iVar10 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar10 = *(int *)(pcVar39 + 0x177c0),\n     *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((from_block < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6308);\n        uVar16 = 0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar10 = *(int *)(pcVar39 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pfStack_1138 == (flags_t *)0x0 && (iVar10 = *(int *)(pcVar39 + 0x177c0), uVar16 != 0))))\n         )) {\n        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x62e4);\n        uVar16 = 0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)uStack_112c < 1) {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x62b8);\n        uVar16 = 1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x629c);\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      iVar15 = *(int *)(pcVar39 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar10 + -20000)) && (!bVar6)) {\n        uStack_112c = 0x20;\n      }\n      install_handler(2,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(3,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(0xd,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(0x10,(_func_void_int *)(&DAT_00001484 + *(int *)(pcVar39 + 0x177bc)));\n      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (a_Stack_102c[0] == false) {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (a_Stack_102c[0] != true) {\n          iVar10 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);\n          uStack_1108 = dd_filetype(a_Stack_102c);\n          if (iVar10 != 0) {\n            pcVar21 = dd_filetype_str(uStack_1108,&afStack_a2c[0].append);\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x627c,pcVar21);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar31 = 0;\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) != '\0') {\n                uVar31 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {\n                uVar31 = uVar31 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {\n                uVar31 = uVar31 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar31);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6168,\n                           a_Stack_102c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar10 != 0) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6140);\n              }\n              if (from_block < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar15 = *(int *)(pcVar39 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar15 = *(int *)(pcVar39 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar15 = (**(code **)(pcVar39 + 0x17870))(iStack_1134);\n                if (iVar15 < 0) {\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6120,\n                             a_Stack_102c);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar10 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60f0);\n                iVar15 = *(int *)(pcVar39 + 0x177b0);\n              }\n              if ((*(int *)(iVar15 + -0x4e44) == 0) ||\n                 (iVar10 = (**(code **)(pcVar39 + 0x17800))(iStack_1134), iVar10 == 0)) {\n                iVar10 = *(int *)(pcVar39 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60bc);\n                iVar10 = *(int *)(pcVar39 + 0x177b0);\n              }\n              if ((*(char *)(iVar10 + -0x4e52) == '\0') ||\n                 (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), -1 < iVar10))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar39 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,\n                         a_Stack_102c);\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar31 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar31 == 0) {\nLAB_00014ad0:\n                uVar31 = 0x8080;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar31 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                uVar41 = uVar31 | 2;\n                uVar27 = uVar31;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar27 = uVar31 | 0x4010;\n                  uVar41 = uVar31 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar41);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar27);\n                  uVar31 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar39 + 0x178b4))\n                              (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6218,\n                               a_Stack_102c);\n                    (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar31 = 2;\n                }\n                if (iVar10 == 0) {\n                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar10 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x61f0,uVar27 | uVar31);\n                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar10 + -1);\n                  if (iVar10 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;\n                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar10 < 0) {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);\n                  }\n                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar10 < 0) ||\n                     (iVar10 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar10 = *(int *)(pcVar39 + 0x177b0);\n                }\n                if ((*(char *)(iVar10 + -0x4e52) != '\0') &&\n                   (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), iVar10 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          uVar16 = -iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar10 = 1;\n      if (a_Stack_e2c[0] == false) {\n        uStack_111c = 1;\n      }\n      else {\n        if (a_Stack_e2c[0] != true) {\n          iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);\n          uStack_111c = dd_filetype(a_Stack_e2c);\n          if (iVar15 != 0) {\n            pcVar21 = dd_filetype_str(uStack_111c,&afStack_a2c[0].append);\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6060,pcVar21);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar10 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar31 = 0x8101;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar31 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar31 = uVar31 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar31 = uVar31 | 8;\n                }\n                iVar10 = (**(code **)(pcVar39 + 0x1783c))(a_Stack_e2c,uVar31,0x1b6);\n                if (-1 < iVar10) {\nLAB_00015148:\n                  if (iVar15 != 0) {\n                    if ((uVar31 & 0x100) == 0) {\n                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x5fa0,iVar17,uVar31);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pfStack_1138 == (flags_t *)0x0) {\n                      iVar17 = *(int *)(pcVar39 + 0x177b0);\n                      if (uVar16 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar17 = *(int *)(pcVar39 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar17 = (**(code **)(pcVar39 + 0x17870))(iVar10);\n                    if (iVar17 < 0) {\n                      (**(code **)(pcVar39 + 0x178b4))\n                                (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5f80,\n                                 a_Stack_e2c);\n                      (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                      iVar10 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar15 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f50);\n                    iVar17 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  if (*(char *)(iVar17 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,\n                           a_Stack_e2c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iVar10 = -0xf;\n              }\n              else {\n                uVar31 = 0x8001;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar31 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar31 = uVar31 | 0x4010;\n                }\n                iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c);\n                if (-1 < iVar10) goto LAB_00015148;\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5fcc,\n                           a_Stack_e2c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iVar10 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);\n            iVar10 = -0xf;\n          }\n          else {\n            uVar31 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar31 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar31 = 0x8082;\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n              uVar31 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n              uVar31 = uVar31 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n              uVar31 = uVar31 | 0x4010;\n            }\n            iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c,uVar31);\n            if (iVar10 < 0) {\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6044,a_Stack_e2c\n                        );\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iVar10 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar15 == 0) {\n              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0);\n              if (iVar15 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);\n                iVar10 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x601c,uVar31);\n              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0,iVar15 + -1);\n              if (iVar15 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;\n              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2275,aiStack_10a4);\n              if (iVar15 < 0) {\n                (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);\n              }\n              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2282,aiStack_10a4);\n              if ((iVar15 < 0) || (iVar15 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);\n                iVar10 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar15 = *(int *)(pcVar39 + 0x177b0);\n            }\n            if (*(char *)(iVar15 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar15 = (**(code **)(pcVar39 + 0x1785c))(iVar10);\n            if (iVar15 < 0) {\n              (**(code **)(pcVar39 + 0x177e8))(iVar10);\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,a_Stack_e2c\n                        );\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iVar10 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar10) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          uVar16 = -iVar10;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar15 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar15 = dd_filetype(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar39 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar22 = (uint *)(**(code **)(pcVar39 + 0x17830))();\n          uVar16 = *puVar22;\n          (**(code **)(pcVar39 + 0x178b4))\n                    (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar10 == 1) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n          uVar16 = 0x1f;\n          goto LAB_000147ec;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\nLAB_00015624:\n        iVar36 = *(int *)(iVar17 + -0x4fe0);\n      }\n      else {\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar36 = *(int *)(iVar17 + -0x4fe0);\n        if (iVar10 == 1) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ee8);\n          uVar16 = 0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar36 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pfStack_10c0 = (flags_t *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar17 = read_blkdev_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n            if (iVar17 == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4,a_Stack_102c);\n              uStack_10bc = 0xffffffff;\n              pfStack_10c0 = (flags_t *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pfStack_10c0 = (flags_t *)0xffffffff;\n          }\n        }\n        else {\n          iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          if (iVar17 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ebc);\n            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          }\n          else if (iVar17 == 0xb) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e90);\n            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          }\n          if (iVar17 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (from_block < CONCAT44(pfStack_10c0,uStack_10bc)) {\n              pfStack_10c0 = (flags_t *)\n                             ((int)pfStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128));\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar17 == 9) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar17 == 2) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pfStack_10c0 = (flags_t *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pfStack_10b8 = (flags_t *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar17 = *(int *)(pcVar39 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar17 = read_blkdev_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n            if (iVar17 == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pfStack_10b8 = (flags_t *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pfStack_10b8 = (flags_t *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          if (iVar17 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d8c);\n            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          }\n          else if (iVar17 == 0xb) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d60);\n            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          }\n          if (iVar17 == 0) {\n            if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pfStack_10b8 <= (int)pfStack_1138) {\n              if (pfStack_10b8 != pfStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar16) {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pfStack_10b8 = (flags_t *)\n                           ((int)pfStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar16) - (int)pfStack_1138));\n            uStack_10b4 = uStack_10b4 - uVar16;\n          }\n          else {\n            if (iVar17 == 9) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pfStack_10b8 = (flags_t *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar17 = *(int *)(pcVar39 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar17 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar19 = *(int *)(pcVar39 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pfStack_10c0) || ((pfStack_10c0 == (flags_t *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pfStack_10b8 < 1) && ((pfStack_10b8 != (flags_t *)0x0 || (uStack_10b4 == 0)))) {\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10c0;\n            *(uint *)(iVar17 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            if (((int)pfStack_10b8 < (int)pfStack_10c0) ||\n               ((pfVar32 = pfStack_10c0, uVar16 = uStack_10bc, pfStack_10c0 == pfStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pfVar32 = pfStack_10b8;\n              uVar16 = uStack_10b4;\n            }\n            *(flags_t **)(iVar17 + -0x4fe0) = pfVar32;\n            *(uint *)(iVar17 + -0x4fdc) = uVar16;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10b8;\n        *(uint *)(iVar17 + -0x4fdc) = uStack_10b4;\n        pfVar32 = pfStack_10b8;\n        uVar16 = uStack_10b4;\n        if ((int)pfStack_10b8 < 0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d34);\n          uVar16 = 99;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar19 = *(int *)(pcVar39 + 0x177b0);\n        if (iVar36 == 0 && *(int *)(iVar17 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pfVar32 = *(flags_t **)(iVar19 + -0x4fe0);\n        uVar16 = *(uint *)(iVar19 + -0x4fdc);\n      }\n      if (bVar5) {\nLAB_00015cf0:\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < from_block + CONCAT44(pfVar32,uVar16) || (0xffff < (int)uStack_112c))))\n        {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar17 = *(int *)(pcVar39 + 0x177b0), (int)uStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar36 = *(int *)(pcVar39 + 0x177b0);\n      if ((*(char *)(iVar17 + -0x4e76) == '\0') &&\n         (iVar36 = *(int *)(pcVar39 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        puStack_113c = (uint8_t *)\n                       (**(code **)(pcVar39 + 0x177f0))\n                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);\n        if (puStack_113c == (uint8_t *)0x0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c6c);\n          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        puStack_113c = (uint8_t *)\n                       (**(code **)(pcVar39 + 0x177f0))\n                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);\n        if (puStack_113c == (uint8_t *)0x0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c90);\n          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar17 = *(int *)(pcVar39 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar17 + -0x4e30) = 0;\n        *(undefined4 *)(iVar17 + -0x4e2c) = 0;\n        (**(code **)(pcVar39 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14) < 1) {\n        iVar17 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0);\n        uVar31 = *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc);\n        if ((iVar17 < 1) && ((iVar17 != 0 || (uVar31 == 0)))) {\n          uVar16 = 0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          uStack_1124 = 0;\n          iVar36 = *(int *)(pcVar39 + 0x177b0);\n          iVar19 = *(int *)(pcVar39 + 0x177b0);\n          iVar23 = *(int *)(pcVar39 + 0x177c0);\n          cVar7 = '\0';\n          while( true ) {\n            pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);\n            uVar20 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)from_block >> 0x20);\n            iStack_1120 = (int)from_block;\n            if ((iVar17 < (int)uStack_112c >> 0x1f) ||\n               ((uVar27 = uStack_112c, (int)uStack_112c >> 0x1f == iVar17 && (uVar31 < uStack_112c))\n               )) {\n              uVar27 = uVar31;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar26 = *(int *)(pcVar39 + 0x177b0);\n            iVar33 = *(int *)(iVar26 + -20000);\n            while (iVar17 = (**(code **)(pcVar39 + 0x178a0))\n                                      (iStack_1134,puStack_113c,uVar27 * iVar33), iVar17 < 0) {\n              piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n              iVar33 = *(int *)(iVar26 + -20000);\n              if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x555c,\n                             uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar17);\n                }\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                uVar16 = 0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x555c,uVar27 * *(int *)(iVar33 + -20000),\n                         iVar17);\n              iVar33 = *(int *)(pcVar39 + 0x177b0);\n            }\n            iVar26 = *(int *)(iVar33 + -20000);\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (iVar17 < (int)(iVar26 * uVar27)) {\n              *(undefined4 *)(iVar33 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar33 + -0x4fe0) = 0;\n              if (iVar26 == 0) {\n                trap(7);\n              }\n              uVar27 = iVar17 / iVar26;\n              if (0 < iVar17 % iVar26) {\n                uVar27 = uVar27 + 1;\n                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            uVar16 = *(uint *)(iVar33 + -0x4ddc) + uVar27;\n            *(uint *)(iVar33 + -0x4de0) =\n                 ((int)uVar27 >> 0x1f) +\n                 (uint)(uVar16 < *(uint *)(iVar33 + -0x4ddc)) + *(int *)(iVar33 + -0x4de0);\n            *(uint *)(iVar33 + -0x4ddc) = uVar16;\nLAB_0001775c:\n            if (uVar27 == 0) {\nLAB_00017264:\n              uVar16 = 0;\n              goto LAB_0001726c;\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar2 = *(char *)(iVar19 + -0x4e6f);\n            }\n            else {\n              iVar26 = *(int *)(iVar33 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar39 + 0x17844))\n                                             (iStack_110c,puStack_113c,uVar27 * iVar26),\n                    iStack_10fc < 0) {\n                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                iVar26 = *(int *)(iVar33 + -20000);\n                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x557c,\n                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);\n                  }\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x557c,\n                         uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);\n              cVar2 = *(char *)(iVar19 + -0x4e6f);\n            }\n            iVar33 = (int)uVar27 >> 0x1f;\n            if ((cVar2 == '\0') ||\n               ((iVar26 = *(int *)(pcVar39 + 0x177b0), *(int *)(iVar26 + -0x4fe0) <= iVar33 &&\n                ((*(int *)(iVar26 + -0x4fe0) != iVar33 || (*(uint *)(iVar26 + -0x4fdc) <= uVar27))))\n               )) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar30 = *(int *)(iVar26 + -20000);\n              while (iVar25 = (**(code **)(pcVar39 + 0x17844))(iVar10,puStack_113c,uVar27 * iVar30),\n                    iVar25 < 0) {\n                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                iVar30 = *(int *)(iVar26 + -20000);\n                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x559c,\n                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar25);\n                  }\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar39 + 0x1787c))\n                          (*(int *)(pcVar39 + 0x177c0) + -0x559c,uVar27 * *(int *)(iVar26 + -20000),\n                           iVar25);\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n              }\n              iVar30 = *(int *)(pcVar39 + 0x177b0);\n              if (iVar25 < (int)(uVar27 * *(int *)(iVar26 + -20000))) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5828);\n                iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000);\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                if (iVar15 == 0) {\n                  trap(7);\n                }\n                uVar16 = *(uint *)(iVar17 + -0x4dec) + iVar25 / iVar15;\n                *(uint *)(iVar17 + -0x4df0) =\n                     *(int *)(iVar17 + -0x4df0) + (iVar25 / iVar15 >> 0x1f) +\n                     (uint)(uVar16 < *(uint *)(iVar17 + -0x4dec));\n                *(uint *)(iVar17 + -0x4dec) = uVar16;\n                if (iVar25 % iVar15 < 1) {\n                  uVar16 = 0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) + 1;\n                  uVar16 = 0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              uVar16 = uVar27 + *(uint *)(iVar30 + -0x4dec);\n              *(uint *)(iVar30 + -0x4df0) =\n                   (uint)(uVar16 < *(uint *)(iVar30 + -0x4dec)) +\n                   *(int *)(iVar30 + -0x4df0) + iVar33;\n              *(uint *)(iVar30 + -0x4dec) = uVar16;\n              cVar2 = '\0';\n              uStack_1124 = uVar27;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) == 0) {\n                iVar26 = (**(code **)(pcVar39 + 0x177f0))\n                                   (uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar39 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) = iVar26;\n                if (iVar26 == 0) {\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b6c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar26 = (**(code **)(pcVar39 + 0x17888))\n                                 (puStack_113c,\n                                  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34),\n                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uVar27);\n              if (iVar26 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b10);\n                  }\n                  iVar26 = (**(code **)(pcVar39 + 0x17870))(iVar10);\n                  if (iVar26 < 0) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a98);\n                    uVar16 = 0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a84);\n                    iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  uVar16 = *(uint *)(iVar26 + -0x4dfc) + uVar27;\n                  *(uint *)(iVar26 + -0x4e00) =\n                       *(int *)(iVar26 + -0x4e00) +\n                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) + iVar33;\n                  *(uint *)(iVar26 + -0x4dfc) = uVar16;\n                  iVar25 = 0;\n                  uStack_1124 = uVar27;\n                }\n                else {\n                  iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dfc);\n                  *(uint *)(iVar26 + -0x4e00) =\n                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) +\n                       *(int *)(iVar26 + -0x4e00) + iVar33;\n                  *(uint *)(iVar26 + -0x4dfc) = uVar16;\n                  iVar25 = 0;\n                  uStack_1124 = uVar27;\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x5b4c,uVar16,pfStack_1138,uVar20,\n                               uVar27);\n                  }\n                }\n              }\n              else {\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar19 + -0x4e77);\n                iVar35 = *(int *)(iVar19 + -0x4e5c);\n                bVar4 = true;\n                iVar33 = *(int *)(pcVar39 + 0x177b0);\n                iVar26 = *(int *)(pcVar39 + 0x177bc);\n                iVar25 = *(int *)(pcVar39 + 0x177b0);\n                iVar30 = *(int *)(pcVar39 + 0x177c0);\nLAB_000169f8:\n                iVar37 = *(int *)(iVar33 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pfVar32 = pfStack_1138;\n                iVar24 = (*(code *)(&DAT_00001dd4 + iVar26))\n                                   (auStack_103c,*(undefined4 *)(iVar19 + -0x4e6c),uVar27);\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar39 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar19 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar37 * uVar27;\n                  puStack_1094 = puStack_113c;\n                  uStack_109b = 0x40;\n                  pfStack_108c = afStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar20;\n                  if (2 < *(int *)(iVar25 + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a2c);\n                    puVar29 = auStack_103c;\n                    if (0 < *(int *)(iVar19 + -0x4e6c)) {\n                      iVar24 = 0;\n                      do {\n                        (**(code **)(pcVar39 + 0x1787c))(iVar30 + -0x6cd8,*puVar29);\n                        iVar24 = iVar24 + 1;\n                        puVar29 = puVar29 + 1;\n                      } while (iVar24 < *(int *)(iVar19 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2285,aiStack_10a4);\n                    if (-1 < iVar24) {\n                      if (2 < *(int *)(iVar25 + -0x4e1c)) {\n                        (**(code **)(pcVar39 + 0x1787c))\n                                  (*(int *)(pcVar39 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      uVar16 = (**(code **)(pcVar39 + 0x17840))(aiStack_10a4);\n                      if (uVar16 < 0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        iVar10 = (*(pcVar39 + *(int *)(iVar23 + -0x53e8 + uVar16 * 4) + 0x1f788))();\n                        return iVar10;\n                      }\n                      (**(code **)(pcVar39 + 0x177e0))\n                                (*(int *)(pcVar39 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar25 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar19 + -0x4e68) == 0) {\n                        if (uVar16 == 0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x596c);\n                      iVar33 = *(int *)(pcVar39 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                    iVar24 = *piVar18;\n                  } while ((iVar24 == 4) || (iVar24 == 0xb));\n                  if (iVar24 == 0xc) {\n                    uVar16 = 0xfffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a1c);\n                    uVar16 = 0xffffffff;\n                  }\n                }\n                else {\n                  pfVar32 = (flags_t *)uVar27;\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a60);\n                  uVar16 = 1;\n                }\nLAB_00016978:\n                if (uVar16 - 1 < 2) goto LAB_00016fcc;\n                if (uVar16 == 0xfffffffe) {\n                  if (!bVar4) {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2272,&iStack_10d4);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar24 = *(int *)(iVar33 + -20000);\n                  if (iVar24 == 0) {\n                    trap(7);\n                  }\n                  uVar31 = (iVar24 + iStack_10d4 + -1) / iVar24;\n                  if ((int)uVar27 <= (int)uVar31) goto LAB_00016fcc;\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5938,uVar31);\n                  uStack_112c = uVar31;\nLAB_000169f4:\n                  bVar4 = false;\n                  uVar27 = uVar31;\n                  goto LAB_000169f8;\n                }\n                if (uVar16 == 6) {\n                  if (!bVar4) goto LAB_000169a4;\n                  iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) = iVar24;\n                  if (iVar24 < 1) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5910);\n                  bVar4 = false;\n                  goto LAB_000169f8;\n                }\n                if (uVar16 == 0xb) {\n                  if (bVar4) {\n                    iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) = iVar24;\n                    if (iVar24 < 1) {\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58d0);\n                    bVar4 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)uVar16 < 0) {\n                  iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar35) {\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) + 1;\n                  iVar35 = iVar35 + -1;\n                  uVar31 = uVar27;\n                  if (0 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (uVar16 != 0) {\nLAB_00016fcc:\n                  if (uVar16 == 0xfffffffe) {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x5864,iVar15,pfStack_1138,uVar20,\n                             pfVar32);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar33 = *(int *)(pcVar39 + 0x177b0);\nLAB_00016e3c:\n                uVar16 = *(uint *)(iVar33 + -0x4dec) + uVar27;\n                *(uint *)(iVar33 + -0x4df0) =\n                     ((int)uVar27 >> 0x1f) +\n                     (uint)(uVar16 < *(uint *)(iVar33 + -0x4dec)) + *(int *)(iVar33 + -0x4df0);\n                *(uint *)(iVar33 + -0x4dec) = uVar16;\n                uStack_1124 = uVar27;\n                if (*(char *)(iVar19 + -0x4e77) == '\0') {\n                  iVar25 = 0;\n                  cVar2 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar25 = 0;\n                  cVar2 = '\0';\n                }\n                else {\n                  cVar2 = '\0';\n                  iVar25 = 0;\n                }\n              }\n            }\n            else {\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dec);\n              *(uint *)(iVar26 + -0x4df0) =\n                   (uint)(uVar16 < *(uint *)(iVar26 + -0x4dec)) +\n                   *(int *)(iVar26 + -0x4df0) + iVar33;\n              *(uint *)(iVar26 + -0x4dec) = uVar16;\n              cVar2 = '\0';\n              iVar25 = 0;\n              uStack_1124 = uVar27;\n            }\n            if (((*(int *)(iVar36 + -0x4e44) == 0) || (iVar17 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            else {\n              iVar17 = (**(code **)(pcVar39 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  from_block * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) +\n                                  (longlong)iVar17,4);\n              if (iVar17 == 0) goto LAB_00016760;\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5800);\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            if (((((uVar16 & 2) == 0) || (iStack_10fc < 1)) || (iVar15 != 1 && iVar15 != 0x20)) ||\n               (iVar17 = (**(code **)(pcVar39 + 0x17800))(iStack_110c), iVar17 == 0)) {\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57d4);\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            if (((uVar16 & 1) != 0) && (0 < iVar25)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar17 = (**(code **)(pcVar39 + 0x17800))(iVar10), iVar17 != 0)) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57a8);\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n              else {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n            }\n            iVar33 = *(int *)(iVar17 + -0x4fe0);\n            uVar27 = *(uint *)(iVar17 + -0x4fdc);\n            if (iVar33 < 1) {\n              uVar16 = 0;\n              if (iVar33 != 0) goto LAB_0001726c;\n              if (uVar27 == 0) goto LAB_00017264;\n            }\n            uVar31 = uVar27 - uStack_1124;\n            iVar17 = (iVar33 - ((int)uStack_1124 >> 0x1f)) - (uint)(uVar27 < uVar31);\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            *(int *)(iVar33 + -0x4fe0) = iVar17;\n            *(uint *)(iVar33 + -0x4fdc) = uVar31;\n            lVar42 = from_block + (int)uStack_1124;\n            lVar8 = lVar43 + (int)uStack_1124;\n            if ((iVar17 < 1) && ((uVar16 = 0, iVar17 != 0 || (uVar31 == 0)))) goto LAB_0001726c;\n            cVar7 = cVar2;\n            from_block = from_block + (int)uStack_1124;\n            lVar43 = lVar43 + (int)uStack_1124;\n            if (cVar2 == '\0') {\n              uStack_1124 = 0;\n              from_block = lVar42;\n              lVar43 = lVar8;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar36 + -0x4e57);\n          uVar16 = sg_read(iStack_1134,puStack_113c,uVar27,from_block,uVar31,\n                           *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),\n                           (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);\n          uVar41 = uVar27;\n          if (uVar16 == 0xfffffffe) {\n            iVar17 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar17) {\n              iVar17 = *(int *)(pcVar39 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n              iVar17 = *(int *)(iVar17 + -20000);\n              if (iVar17 == 0) {\n                trap(7);\n              }\n              uVar41 = (iVar17 + iStack_10d4 + -1) / iVar17;\n              if ((int)uVar41 < (int)uVar27) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c08,uVar41);\n                uVar16 = sg_read(iStack_1134,puStack_113c,uVar41,from_block,uVar31,\n                                 *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),\n                                 (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);\n                uStack_112c = uVar41;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (uVar16 == 0) {\n              iVar17 = *(int *)(pcVar39 + 0x177b0);\n              uVar27 = uVar41;\n              if ((int)uStack_10d0 < (int)uVar41) {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                *(undefined4 *)(iVar17 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar17 + -0x4fe0) = 0;\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                uVar27 = uStack_10d0;\n              }\n              uVar16 = *(uint *)(iVar17 + -0x4ddc) + uVar27;\n              *(uint *)(iVar17 + -0x4de0) =\n                   ((int)uVar27 >> 0x1f) +\n                   (uint)(uVar16 < *(uint *)(iVar17 + -0x4ddc)) + *(int *)(iVar17 + -0x4de0);\n              *(uint *)(iVar17 + -0x4ddc) = uVar16;\n              iVar17 = 0;\n              if ((*(char *)(iVar36 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (uVar16 == 0xfffffffe) {\n              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar39 + 0x1787c))\n                      (*(int *)(pcVar39 + 0x177c0) + -0x5be0,iVar15,iStack_1128,iStack_1120,\n                       from_block);\n          }\nLAB_0001628c:\n          if (((cVar7 != '\0') && (0 < (int)uStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar36 = *(int *)(pcVar39 + 0x177b0);\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            iVar15 = *(int *)(iVar36 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar15 = *(int *)(pcVar39 + 0x177b0);\n        if ((bVar3) && (iVar15 = *(int *)(pcVar39 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x574c,a_Stack_e2c);\n          iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,1,0);\n          if (iVar15 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x572c);\n            iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,0,0);\n          }\n          if (iVar15 == 0) goto LAB_00016028;\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56fc);\n          iVar15 = *(int *)(pcVar39 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c54);\n        uVar16 = 0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar15 = *(int *)(pcVar39 + 0x177b0);\n      }\n      if (*(char *)(iVar15 + -0x4e17) != '\0') {\n        calc_duration_throughput(false);\n      }\n      (**(code **)(pcVar39 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar39 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar39 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar10 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar39 + 0x177e8))(iVar10);\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      if (*(int *)(iVar10 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc) == 0) {\n          iVar10 = *(int *)(pcVar39 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56dc);\n          iVar10 = *(int *)(pcVar39 + 0x177c0);\n          if (uVar16 == 0) {\n            uVar16 = 99;\n          }\n        }\n        print_stats((char *)(iVar10 + -0x7604));\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar10 = *(int *)(pcVar39 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar10 = (**(code **)(pcVar39 + 0x1783c))(*(int *)(pcVar39 + 0x177c0) + -0x5694,0);\n          if (iVar10 < 0) goto LAB_000160d8;\n          iVar15 = (**(code **)(pcVar39 + 0x178a0))(iVar10,aiStack_10a4,1);\n          if ((iVar15 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar39 + 0x1787c))\n                      (*(int *)(pcVar39 + 0x177c0) + -0x567c,*(int *)(pcVar39 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar39 + 0x177e8))(iVar10);\n          iVar10 = *(int *)(pcVar39 + 0x177b0);\n        }\n        if (*(int *)(iVar10 + -0x4dd8) != 0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)uVar16 < 0) {\n        uVar16 = 99;\n      }\n      goto LAB_000147ec;\n    }\n    iVar10 = *(int *)(pcVar39 + 0x177c0);\n  }\n  (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x6338);\n  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n  uVar16 = 0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar39 + 0x17890)) {\n    pcVar39 = *(code **)(pcVar39 + 0x17880);\n    (*pcVar39)();\n    return *(int *)(pcVar39 + 0x13608);\n  }\n  return uVar16;\nLAB_000146c0:\n  if (!bVar4) {\n    if (bVar28) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar10 = *(int *)(pcVar39 + 0x177b0);\n  if (bVar28) {\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63b8);\n    uVar16 = 0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n    iVar15 = *(int *)(iVar36 + -20000);\n    if ((*piVar18 != 4) && (*piVar18 != 0xb)) break;\nLAB_000162c4:\n    iVar19 = (**(code **)(pcVar39 + 0x17844))\n                       (iVar10,*(undefined4 *)(iVar17 + -0x4e34),uStack_1124 * iVar15);\n    if (-1 < iVar19) {\n      if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar39 + 0x1787c))\n                  (*(int *)(pcVar39 + 0x177c0) + -0x55d0,\n                   uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar39 + 0x1787c))\n              (*(int *)(pcVar39 + 0x177c0) + -0x55d0,\n               uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);\n  }\n  (**(code **)(pcVar39 + 0x178b4))(afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n  goto LAB_0001726c;\n}\n\n" comment (function_definition "int process_flags(char *arg,flags_t *fp)\n\n{\n  _Bool _Var1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  longlong lVar8;\n  char *pcVar9;\n  int iVar10;\n  flags_t *pfVar11;\n  flags_t *pfVar12;\n  flags_t *pfVar13;\n  flags_t *pfVar14;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  undefined4 uVar20;\n  char *pcVar21;\n  uint *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  uint uVar27;\n  bool bVar28;\n  undefined1 *puVar29;\n  int iVar30;\n  undefined4 in_a3;\n  undefined1 write_true;\n  uint uVar31;\n  flags_t *pfVar32;\n  int iVar33;\n  flags_t *unaff_s1;\n  uint8_t *puVar34;\n  flags_t *unaff_s3;\n  int iVar35;\n  undefined *unaff_s4;\n  flags_t *unaff_s5;\n  int iVar36;\n  flags_t *unaff_s6;\n  flags_t *unaff_s7;\n  int iVar37;\n  undefined *puVar38;\n  flags_t *unaff_s8;\n  code *pcVar39;\n  code *pcVar40;\n  uint uVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong from_block;\n  uint8_t *puStack_113c;\n  flags_t *pfStack_1138;\n  int iStack_1134;\n  uint uStack_112c;\n  int iStack_1128;\n  uint uStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  uint uStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  flags_t *pfStack_10c0;\n  uint uStack_10bc;\n  flags_t *pfStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  uint8_t *puStack_1094;\n  undefined1 *puStack_1090;\n  flags_t *pfStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  _Bool a_Stack_102c [512];\n  _Bool a_Stack_e2c [512];\n  char acStack_c2c [512];\n  flags_t afStack_a2c [7];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  flags_t *pfStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int iStack_318;\n  uint uStack_314;\n  flags_t *pfStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  flags_t *pfStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  flags_t *pfStack_288;\n  flags_t *pfStack_284;\n  flags_t *pfStack_280;\n  flags_t *pfStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  flags_t *pfStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  flags_t *pfStack_258;\n  undefined1 *puVar44;\n  undefined1 *puVar45;\n  int *piStack_23c;\n  flags_t fStack_21c;\n  undefined4 uStack_1fc;\n  byte bStack_1ed;\n  flags_t *pfStack_1e4;\n  uint8_t auStack_1dc [16];\n  flags_t afStack_1cc [2];\n  int iStack_18c;\n  flags_t *pfStack_188;\n  flags_t *pfStack_184;\n  flags_t *pfStack_180;\n  flags_t *pfStack_17c;\n  undefined *puStack_178;\n  flags_t *pfStack_174;\n  flags_t *pfStack_170;\n  flags_t *pfStack_16c;\n  flags_t *pfStack_168;\n  code *pcStack_164;\n  undefined1 *puStack_158;\n  undefined4 uStack_14c;\n  int iStack_148;\n  flags_t *local_144;\n  flags_t *local_140;\n  char buff [256];\n  \n  iVar10 = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar29 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(buff);\n  write_true = (undefined1)in_a3;\n  buff[0xff] = '\0';\n  pfVar32 = (flags_t *)buff;\n  if (buff[0] == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    iVar15 = 1;\n  }\n  else {\n    unaff_s3 = (flags_t *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (flags_t *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (flags_t *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (flags_t *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (flags_t *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (flags_t *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (flags_t *)(PTR_DAT_0002b068 + -0x6d5c);\n    pfVar11 = (flags_t *)(PTR_DAT_0002b068 + -0x6d54);\n    pfVar12 = (flags_t *)(PTR_DAT_0002b068 + -0x6d50);\n    pfVar13 = (flags_t *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      pfVar14 = (flags_t *)(*(code *)PTR_strchr_0002b100)(pfVar32,0x2c);\n      unaff_s1 = pfVar14;\n      if (pfVar14 != (flags_t *)0x0) {\n        unaff_s1 = (flags_t *)&pfVar14->dio;\n        pfVar14->append = false;\n      }\n      arg = (char *)unaff_s3;\n      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n      if (iVar15 == 0) {\n        fp->append = true;\n      }\n      else {\n        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32,unaff_s4);\n        arg = (char *)unaff_s5;\n        if (iVar15 == 0) {\n          fp->coe = fp->coe + 1;\n        }\n        else {\n          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n          if (iVar15 == 0) {\n            fp->dio = true;\n          }\n          else {\n            arg = (char *)unaff_s6;\n            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n            if (iVar15 == 0) {\n              fp->direct = true;\n            }\n            else {\n              arg = (char *)unaff_s7;\n              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n              if (iVar15 == 0) {\n                fp->dpo = true;\n              }\n              else {\n                arg = (char *)unaff_s8;\n                iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                if (iVar15 == 0) {\n                  fp->dsync = true;\n                }\n                else {\n                  arg = (char *)local_144;\n                  iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                  if (iVar15 == 0) {\n                    fp->excl = true;\n                  }\n                  else {\n                    arg = (char *)local_140;\n                    iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                    if (iVar15 == 0) {\n                      fp->flock = true;\n                    }\n                    else {\n                      arg = (char *)pfVar11;\n                      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                      if (iVar15 == 0) {\n                        fp->fua = true;\n                      }\n                      else {\n                        arg = (char *)pfVar12;\n                        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                        if (iVar15 == 0) {\n                          fp->nocache = fp->nocache + 1;\n                        }\n                        else {\n                          arg = (char *)pfVar13;\n                          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                          if (iVar15 != 0) {\n                            arg = PTR_DAT_0002b068 + -0x66cc;\n                            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                            if (iVar15 == 0) {\n                              fp->sgio = true;\n                            }\n                            else {\n                              arg = PTR_DAT_0002b068 + -0x6d40;\n                              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                              write_true = (undefined1)in_a3;\n                              if (iVar15 != 0) {\n                                arg = &pfVar32->append;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                iVar15 = 1;\n                                goto LAB_0001260c;\n                              }\n                              fp->sparse = true;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      write_true = (undefined1)in_a3;\n      pfVar32 = unaff_s1;\n    } while (unaff_s1 != (flags_t *)0x0);\n    iVar15 = 0;\n  }\nLAB_0001260c:\n  if (iVar10 == *(int *)PTR___stack_chk_guard_0002b138) {\n    return iVar15;\n  }\n  pcVar39 = sg_read_low;\n  puVar38 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  pfVar12 = (flags_t *)&_gp;\n  iStack_18c = **(int **)(puVar38 + 0x18ae0);\n  _Var1 = local_144->dpo;\n  uVar16 = (uint)local_144->fua;\n  puVar45 = (undefined1 *)0x0;\n  puVar44 = &_gp;\n  pfVar11 = (flags_t *)local_144->cdbsz;\n  pfStack_188 = pfVar32;\n  pfStack_184 = unaff_s1;\n  pfStack_180 = fp;\n  pfStack_17c = unaff_s3;\n  puStack_178 = unaff_s4;\n  pfStack_174 = unaff_s5;\n  pfStack_170 = unaff_s6;\n  pfStack_16c = unaff_s7;\n  pfStack_168 = unaff_s8;\n  pcStack_164 = pcVar39;\n  puStack_158 = puVar29;\n  iVar15 = sg_build_scsi_cdb(auStack_1dc,(int)pfVar11,(uint)puVar29,CONCAT44(&_gp,uStack_14c),\n                             (_Bool)write_true,false,local_144->fua);\n  if (iVar15 == 0) {\n    (**(code **)(puVar38 + 0x18a84))(&fStack_21c.field_0xa,0,0x36);\n    fStack_21c.append = false;\n    fStack_21c.dio = false;\n    fStack_21c.direct = false;\n    fStack_21c.dpo = true;\n    fStack_21c.sgio = SUB41(local_144->cdbsz,0);\n    fStack_21c.nocache = (int)auStack_1dc;\n    fStack_21c.dsync = true;\n    fStack_21c.excl = true;\n    fStack_21c.flock = true;\n    fStack_21c.fua = true;\n    fStack_21c.cdbsz = (int)puStack_158 * iStack_148;\n    fStack_21c.sparse = true;\n    fStack_21c.pdt = (int)afStack_1cc;\n    fStack_21c.retries = 60000;\n    if (local_140 == (flags_t *)0x0) {\nLAB_00012788:\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n    }\n    else {\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n      if (local_140->append != false) {\n        uStack_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    fStack_21c.coe = (int)arg;\n    if (2 < *(int *)(iVar17 + -0x4e1c)) {\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6ce8);\n      puVar34 = auStack_1dc;\n      if (0 < local_144->cdbsz) {\n        iVar36 = *(int *)(puVar38 + 0x18a10);\n        iVar17 = 0;\n        do {\n          (**(code **)(puVar38 + 0x18acc))(iVar36 + -0x6cd8,*puVar34);\n          iVar17 = iVar17 + 1;\n          puVar34 = puVar34 + 1;\n        } while (iVar17 < local_144->cdbsz);\n      }\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6424);\n    }\n    arg = &fStack_21c.append;\n    fp = (flags_t *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      pfVar32 = (flags_t *)arg;\n      iVar17 = (**(code **)(puVar38 + 0x18ac8))(iVar10,0x2285);\n      if (-1 < iVar17) {\n        pfVar11 = pfStack_1e4;\n        if (2 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6cac);\n          pfVar11 = pfStack_1e4;\n        }\n        pfVar13 = (flags_t *)(**(code **)(puVar38 + 0x18a90))(&fStack_21c);\n        fp = (flags_t *)fStack_21c.pdt;\n        arg = (char *)(uint)bStack_1ed;\n        if (pfVar13 < (flags_t *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar10 = (*(code *)(puVar38 +\n                             *(int *)(*(int *)(puVar38 + 0x18a10) + -0x5530 + (int)pfVar13 * 4) +\n                             0x209d8))();\n          return iVar10;\n        }\n        *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) =\n             *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          pfVar32 = (flags_t *)(*(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c) < 2 ^ 1);\n          pfVar11 = &fStack_21c;\n          (**(code **)(puVar38 + 0x18a30))(*(int *)(puVar38 + 0x18a10) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar18 = (int *)(**(code **)(puVar38 + 0x18a80))();\n      iVar17 = *piVar18;\n    } while ((iVar17 == 4) || (pfVar11 = (flags_t *)0x2285, iVar17 == 0xb));\n    if (iVar17 == 0xc) {\n      pfVar13 = (flags_t *)&SUB_fffffffe;\n      pfVar32 = (flags_t *)arg;\n    }\n    else {\n      pfVar32 = (flags_t *)arg;\n      (**(code **)(puVar38 + 0x18ac4))(*(int *)(puVar38 + 0x18a10) + -0x6cd0);\n      pfVar13 = (flags_t *)0xffffffff;\n    }\n  }\n  else {\n    pfVar32 = pfVar12;\n    puVar44 = puStack_158;\n    (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6d20);\n    pfVar13 = (flags_t *)0x1;\n  }\nLAB_0001282c:\n  if (iStack_18c == **(int **)(puVar38 + 0x18ae0)) {\n    return (int)pfVar13;\n  }\n  pcVar39 = *(code **)(puVar38 + 0x18ad0);\n  pcVar40 = sg_read;\n  iVar10 = iStack_18c;\n  (*pcVar39)();\n  pcStack_2d8 = pcVar39 + 0x202c8;\n  pfStack_26c = local_140;\n  puStack_270 = &_gp;\n  pfStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar39 + 0x183d0);\n  iVar17 = *(int *)(uVar16 + 0x1c);\n  pfStack_2d0 = pfVar11;\n  pfStack_288 = pfVar13;\n  pfStack_284 = (flags_t *)arg;\n  pfStack_280 = fp;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar15;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar10;\n  pfStack_258 = pfVar32;\n  if ((int)pfVar32 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    iStack_2b4 = (int)puVar45 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(&DAT_00002658 + *(int *)(pcVar39 + 0x182fc));\n    iStack_2bc = *(int *)(pcVar39 + 0x18300);\n    pfVar12 = (flags_t *)(*(int *)(pcVar39 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar39 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar39 + 0x18300) + -0x5484;\n    puStack_2c4 = puVar45;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      pfVar11 = pfStack_2d0;\n      puStack_2f0 = puVar44;\n      puStack_2e8 = puVar45;\n      uStack_2e4 = uVar16;\n      uStack_2e0 = (uint)_Var1;\n      iVar10 = (*pcStack_2cc)(iStack_260,pfStack_2d0,pfVar32);\n      if (iVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar10 = (*(pcStack_2d8 + *(int *)(&pfVar12->sgio + iVar10 * 4)))();\n        return iVar10;\n      }\n      iStack_2a8 = 0;\n      if (iVar17 < 1) {\n        if (*(int *)(uVar16 + 0x10) == 0) {\n          if (iVar10 == 0) {\n            iVar10 = -1;\n          }\n        }\n        else {\n          puVar45 = (undefined1 *)((int)puVar45 * (int)pfVar32);\n          pfVar11 = (flags_t *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(pfStack_2d0,0,puVar45);\n          puStack_2f0 = puVar45;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)pfVar32) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            pfVar32 = (flags_t *)(&pfVar32->append + iStack_2c8);\n            *piStack_2c0 = (int)pfVar32;\n          }\n          iVar15 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar15 < 1) ||\n             (iVar36 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar36, iVar36 <= iVar15)) {\n            if (iStack_2a8 != 0) {\n              iVar10 = 0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar17 = iVar17 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      pfVar32 = (flags_t *)((int)pfStack_258 - iStack_2c8);\n      pfVar13 = pfVar32;\n    } while (0 < (int)pfVar32);\n  }\n  pfVar32 = pfVar13;\n  if (piStack_2c0 == (int *)0x0) {\n    iVar10 = 0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    iVar10 = 0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return iVar10;\n  }\n  pcVar39 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar15 = iStack_28c;\n  (*pcVar39)();\n  pcStack_304 = pcVar40;\n  uStack_308 = (uint)_Var1;\n  iStack_30c = iVar17;\n  pfStack_310 = pfVar12;\n  uStack_314 = uVar16;\n  iStack_318 = iVar10;\n  puStack_31c = puVar44;\n  uStack_320 = uStack_14c;\n  puStack_324 = puVar45;\n  pfStack_328 = pfVar32;\n  iStack_32c = **(int **)(pcVar39 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pfStack_10c0 = (flags_t *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pfStack_10b8 = (flags_t *)0xffffffff;\n  a_Stack_102c[0] = false;\n  a_Stack_e2c[0] = false;\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar15) {\n    from_block = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    uStack_112c = 0x80;\n    iVar10 = 1;\n    bVar28 = false;\n    bVar4 = false;\n    bVar3 = false;\n    bVar5 = false;\n    bVar6 = false;\n    pcVar40 = (code *)(*(int *)(pcVar39 + 0x177bc) + 0xfb0);\n    iVar17 = *(int *)(pcVar39 + 0x177b0);\n    iVar36 = *(int *)(pcVar39 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    iVar19._0_1_ = pfVar11->dsync;\n    iVar19._1_1_ = pfVar11->excl;\n    iVar19._2_1_ = pfVar11->flock;\n    iVar19._3_1_ = pfVar11->fua;\n    if (iVar19 != 0) {\n      (**(code **)(pcVar39 + 0x1782c))(&cStack_72c,iVar19,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar21 = &cStack_72c;\n      }\n      else {\n        pcVar21 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar9 = acStack_72b;\n          do {\n            pcVar21 = pcVar9;\n            if (*pcVar21 == '\0') goto LAB_00013a20;\n            pcVar9 = pcVar21 + 1;\n          } while (*pcVar21 != '=');\n        }\n        *pcVar21 = '\0';\n        pcVar21 = pcVar21 + 1;\n      }\nLAB_00013a20:\n      iVar19 = (**(code **)(pcVar39 + 0x177fc))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n        *(bool *)(iVar17 + -0x4e58) = iVar19 != 0;\n        *(bool *)(iVar36 + -0x4e78) = iVar19 != 0;\n      }\n      else {\n        iVar19 = (**(code **)(pcVar39 + 0x178a8))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar19 == 0) {\n          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n          *(bool *)(iVar17 + -0x4e50) = iVar19 != 0;\n          *(bool *)(iVar36 + -0x4e70) = iVar19 != 0;\n        }\n        else {\n          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66c4);\n          if (iVar19 == 0) {\n            uStack_112c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n            if (uStack_112c == 0xffffffff) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x66c0);\n              uVar16 = 1;\n              goto LAB_000147ec;\n            }\n            bVar6 = true;\n          }\n          else {\n            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66a0);\n            if (iVar19 == 0) {\n              uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n              *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = uVar20;\n              bVar6 = true;\n            }\n            else {\n              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x669c);\n              if (iVar19 == 0) {\n                uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                *(undefined4 *)(iVar17 + -0x4e4c) = uVar20;\n                *(undefined4 *)(iVar36 + -0x4e6c) = uVar20;\n                bVar5 = true;\n              }\n              else {\n                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d7c);\n                if (iVar19 == 0) {\n                  uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                  *(undefined4 *)(iVar17 + -0x4e48) = uVar20;\n                  *(undefined4 *)(iVar36 + -0x4e68) = uVar20;\n                }\n                else {\n                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6694);\n                  if (iVar19 == 0) {\n                    iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e24) = iVar19;\n                    if (iVar19 == -1) {\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6688);\n                      uVar16 = 1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6660);\n                    if (iVar19 == 0) {\n                      (**(code **)(pcVar39 + 0x1782c))(afStack_a2c,pcVar21,0x100);\n                      uStack_92d = 0;\n                      if (afStack_a2c[0].append == false) {\n                        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6658);\n                        iVar10 = *(int *)(pcVar39 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -22000);\n                        uVar16 = 1;\n                        goto LAB_000147ec;\n                      }\n                      iVar19 = *(int *)(pcVar39 + 0x177c0);\n                      pfVar32 = afStack_a2c;\n                      do {\n                        pfVar13 = (flags_t *)(**(code **)(pcVar39 + 0x17858))(pfVar32,0x2c);\n                        pfVar12 = pfVar13;\n                        if (pfVar13 != (flags_t *)0x0) {\n                          pfVar12 = (flags_t *)&pfVar13->dio;\n                          pfVar13->append = false;\n                        }\n                        iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                        if (iVar23 == 0) {\n                          *(int *)(iVar17 + -0x4e48) = *(int *)(iVar17 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32,iVar19 + -0x6638);\n                          if ((iVar23 != 0) &&\n                             (iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32), iVar23 != 0)) {\n                            iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                            if (iVar23 == 0) {\n                              *(undefined1 *)(iVar36 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                              if (iVar23 != 0) {\n                                (**(code **)(pcVar39 + 0x1787c))\n                                          (*(int *)(pcVar39 + 0x177c0) + -0x6d38);\n                                iVar10 = *(int *)(pcVar39 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pfVar32 = pfVar12;\n                      } while (pfVar12 != (flags_t *)0x0);\n                    }\n                    else {\n                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6628);\n                      if (iVar19 == 0) {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (*(int *)(pcVar39 + 0x177c0) + -0x6620);\n                        if (iVar19 != 0) {\n                          lVar42 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                          *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x661c);\n                            uVar16 = 1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x5680);\n                        if (iVar19 == 0) {\n                          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                          *(bool *)(iVar36 + -0x4e77) = iVar19 != 0;\n                          *(bool *)(iVar17 + -0x4e57) = iVar19 != 0;\n                        }\n                        else {\n                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d54);\n                          if (iVar19 == 0) {\n                            iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            *(byte *)(iVar36 + -0x4e71) = (byte)iVar19 & 1;\n                            *(byte *)(iVar17 + -0x4e51) = (byte)((uint)(iVar19 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f8);\n                            if (iVar19 == 0) {\n                              iStack_1110 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            }\n                            else {\n                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar19 == 0) {\n                                if (a_Stack_102c[0] != false) {\n                                  (**(code **)(pcVar39 + 0x1787c))\n                                            (*(int *)(pcVar39 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                  uVar16 = 1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar39 + 0x1782c))(a_Stack_102c);\n                              }\n                              else {\n                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar39 + 0x177c0) + -0x65d4);\n                                if (iVar19 == 0) {\n                                  iVar19 = process_flags(pcVar21,(flags_t *)(iVar17 + -0x4e58));\n                                  if (iVar19 != 0) {\n                                    (**(code **)(pcVar39 + 0x1787c))\n                                              (*(int *)(pcVar39 + 0x177c0) + -0x65cc);\n                                    uVar16 = 1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar39 + 0x177c0) + -0x65a8);\n                                  if (iVar19 == 0) {\n                                    iStack_110c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                  }\n                                  else {\n                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar39 + 0x177c0) + -0x65a4);\n                                    if (iVar19 == 0) {\n                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                      *(bool *)(iVar17 + -0x4e56) = iVar19 != 0;\n                                      *(bool *)(iVar36 + -0x4e76) = iVar19 != 0;\n                                    }\n                                    else {\n                                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar39 + 0x177c0) + -0x659c);\n                                      if (iVar19 == 0) {\n                                        if (a_Stack_e2c[0] != false) {\n                                          (**(code **)(pcVar39 + 0x1787c))\n                                                    (*(int *)(pcVar39 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                          uVar16 = 0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar39 + 0x1782c))(a_Stack_e2c);\n                                      }\n                                      else {\n                                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar39 + 0x177c0) + -0x657c);\n                                        if (iVar19 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar39 + 0x1787c))\n                                                      (*(int *)(pcVar39 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                            uVar16 = 0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar39 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar39 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar19 == 0) {\n                                            iVar19 = process_flags(pcVar21,(flags_t *)\n                                                                           (iVar36 + -0x4e78));\n                                            if (iVar19 != 0) {\n                                              (**(code **)(pcVar39 + 0x1787c))\n                                                        (*(int *)(pcVar39 + 0x177c0) + -0x6554);\n                                              uVar16 = 1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar39 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar19 == 0) {\n                                              iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                              *(int *)(iVar17 + -0x4e3c) = iVar19;\n                                              *(int *)(iVar36 + -0x4e5c) = iVar19;\n                                              if (iVar19 == -1) {\n                                                (**(code **)(pcVar39 + 0x1787c))\n                                                          (*(int *)(pcVar39 + 0x177c0) + -0x6528);\n                                                uVar16 = 1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar39 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar19 == 0) {\n                                                lVar43 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x64fc);\n                                                  uVar16 = 1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar39 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar19 == 0) {\n                                                  from_block = (**(code **)(pcVar39 + 0x17828))\n                                                                         (pcVar21);\n                                                  if (from_block == -1) {\n                                                    (**(code **)(pcVar39 + 0x1787c))\n                                                              (*(int *)(pcVar39 + 0x177c0) + -0x64d4\n                                                              );\n                                                    uVar16 = 1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar39 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar19 == 0) {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                       (pcVar21);\n                                                    bVar3 = iVar19 != 0;\n                                                  }\n                                                  else {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar19 == 0) {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                         (pcVar21);\n                                                      *(bool *)(*(int *)(pcVar39 + 0x177b0) +\n                                                               -0x4e17) = iVar19 != 0;\n                                                    }\n                                                    else {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar19 == 0) {\n                                                        uVar20 = (**(code **)(pcVar39 + 0x1780c))\n                                                                           (pcVar21);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =\n                                                             uVar20;\n                                                      }\n                                                      else {\n                                                        iVar19 = (**(code **)(pcVar39 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar19 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar39 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar23 = *(int *)(pcVar39 + 0x177b0);\n                                                          if (iVar19 != 0) {\n                                                            iVar19 = (**(code **)(pcVar39 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar39 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar19 != 0) {\n                                                              iVar19 = (**(code **)(pcVar39 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar39 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar19 == 0) ||\n                                                                 (iVar19 = (**(code **)(pcVar39 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar19 == 0)) {\n                                                                usage();\n                                                                uVar16 = 0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar19 = (**(code **)(pcVar39 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar39 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar19 != 0) {\n                                                                iVar19 = (**(code **)(pcVar39 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar39\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar19 == 0) {\n                                                    bVar28 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x6420);\n                                                  uVar16 = 1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar4 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar23 = *(int *)(pcVar39 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar23 + -0x4e14) =\n                                                       *(int *)(iVar23 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar19 = iVar19 + -1;\n                                                    iVar23 = (*pcVar40)(acStack_72b,iVar19,100);\n                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                                   -0x4e14) + iVar23;\n                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x68);\n                                                    if (0 < iVar33) {\n                                                      usage();\n                                                      uVar16 = 0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar33 = (*pcVar40)(acStack_72b,iVar19,0x76);\n                                                    if (0 < iVar33) {\n                                                      bVar4 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar39 + 0x177b0) +\n                                                                   -0x4e1c) + iVar33;\n                                                    iVar26 = (*pcVar40)(acStack_72b,iVar19,0x56);\n                                                    if (0 < iVar26) {\n                                                      bVar28 = true;\n                                                    }\n                                                    if (iVar23 + iVar33 + iVar26 < iVar19) {\n                                                      (**(code **)(pcVar39 + 0x1787c))\n                                                                (*(int *)(pcVar39 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      uVar16 = 1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar10 = iVar10 + 1;\n    pfVar11 = (flags_t *)&pfVar11->dsync;\n    if (iVar15 == iVar10) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar15 < 2) {\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n    uVar16 = 0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  uStack_112c = 0x80;\n  bVar5 = false;\n  iStack_110c = 0;\n  from_block = 0;\n  iStack_1110 = 0;\n  bVar3 = false;\n  bVar6 = false;\nLAB_00017904:\n  iVar10 = *(int *)(pcVar39 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)from_block >> 0x20);\n  iStack_1120 = (int)from_block;\n  pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);\n  uVar16 = (uint)lVar43;\n  if (*(int *)(iVar10 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar10 = *(int *)(pcVar39 + 0x177c0),\n     *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((from_block < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6308);\n        uVar16 = 0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar10 = *(int *)(pcVar39 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pfStack_1138 == (flags_t *)0x0 && (iVar10 = *(int *)(pcVar39 + 0x177c0), uVar16 != 0))))\n         )) {\n        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x62e4);\n        uVar16 = 0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)uStack_112c < 1) {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x62b8);\n        uVar16 = 1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x629c);\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      iVar15 = *(int *)(pcVar39 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar10 + -20000)) && (!bVar6)) {\n        uStack_112c = 0x20;\n      }\n      install_handler(2,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(3,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(0xd,(_func_void_int *)(&DAT_00001730 + iVar15));\n      install_handler(0x10,(_func_void_int *)(&DAT_00001484 + *(int *)(pcVar39 + 0x177bc)));\n      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (a_Stack_102c[0] == false) {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (a_Stack_102c[0] != true) {\n          iVar10 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);\n          uStack_1108 = dd_filetype(a_Stack_102c);\n          if (iVar10 != 0) {\n            pcVar21 = dd_filetype_str(uStack_1108,&afStack_a2c[0].append);\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x627c,pcVar21);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar31 = 0;\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) != '\0') {\n                uVar31 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {\n                uVar31 = uVar31 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {\n                uVar31 = uVar31 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar31);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6168,\n                           a_Stack_102c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar10 != 0) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6140);\n              }\n              if (from_block < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar15 = *(int *)(pcVar39 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar15 = *(int *)(pcVar39 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar15 = (**(code **)(pcVar39 + 0x17870))(iStack_1134);\n                if (iVar15 < 0) {\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6120,\n                             a_Stack_102c);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar10 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60f0);\n                iVar15 = *(int *)(pcVar39 + 0x177b0);\n              }\n              if ((*(int *)(iVar15 + -0x4e44) == 0) ||\n                 (iVar10 = (**(code **)(pcVar39 + 0x17800))(iStack_1134), iVar10 == 0)) {\n                iVar10 = *(int *)(pcVar39 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x60bc);\n                iVar10 = *(int *)(pcVar39 + 0x177b0);\n              }\n              if ((*(char *)(iVar10 + -0x4e52) == '\0') ||\n                 (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), -1 < iVar10))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar39 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,\n                         a_Stack_102c);\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar31 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar31 == 0) {\nLAB_00014ad0:\n                uVar31 = 0x8080;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar31 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                uVar41 = uVar31 | 2;\n                uVar27 = uVar31;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar27 = uVar31 | 0x4010;\n                  uVar41 = uVar31 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar41);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar39 + 0x17838))(a_Stack_102c,uVar27);\n                  uVar31 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar39 + 0x178b4))\n                              (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6218,\n                               a_Stack_102c);\n                    (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar31 = 2;\n                }\n                if (iVar10 == 0) {\n                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar10 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x61f0,uVar27 | uVar31);\n                  iVar10 = (**(code **)(pcVar39 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar10 + -1);\n                  if (iVar10 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;\n                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar10 < 0) {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);\n                  }\n                  iVar10 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar10 < 0) ||\n                     (iVar10 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar10 = *(int *)(pcVar39 + 0x177b0);\n                }\n                if ((*(char *)(iVar10 + -0x4e52) != '\0') &&\n                   (iVar10 = (**(code **)(pcVar39 + 0x1785c))(iStack_1134), iVar10 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          uVar16 = -iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar10 = 1;\n      if (a_Stack_e2c[0] == false) {\n        uStack_111c = 1;\n      }\n      else {\n        if (a_Stack_e2c[0] != true) {\n          iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c);\n          uStack_111c = dd_filetype(a_Stack_e2c);\n          if (iVar15 != 0) {\n            pcVar21 = dd_filetype_str(uStack_111c,&afStack_a2c[0].append);\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6060,pcVar21);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar10 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar31 = 0x8101;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar31 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar31 = uVar31 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar31 = uVar31 | 8;\n                }\n                iVar10 = (**(code **)(pcVar39 + 0x1783c))(a_Stack_e2c,uVar31,0x1b6);\n                if (-1 < iVar10) {\nLAB_00015148:\n                  if (iVar15 != 0) {\n                    if ((uVar31 & 0x100) == 0) {\n                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar17 = *(int *)(pcVar39 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x5fa0,iVar17,uVar31);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pfStack_1138 == (flags_t *)0x0) {\n                      iVar17 = *(int *)(pcVar39 + 0x177b0);\n                      if (uVar16 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar17 = *(int *)(pcVar39 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar17 = (**(code **)(pcVar39 + 0x17870))(iVar10);\n                    if (iVar17 < 0) {\n                      (**(code **)(pcVar39 + 0x178b4))\n                                (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5f80,\n                                 a_Stack_e2c);\n                      (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                      iVar10 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar15 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f50);\n                    iVar17 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  if (*(char *)(iVar17 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,\n                           a_Stack_e2c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iVar10 = -0xf;\n              }\n              else {\n                uVar31 = 0x8001;\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar31 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar31 = uVar31 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar31 = uVar31 | 0x4010;\n                }\n                iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c);\n                if (-1 < iVar10) goto LAB_00015148;\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5fcc,\n                           a_Stack_e2c);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                iVar10 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6244);\n            iVar10 = -0xf;\n          }\n          else {\n            uVar31 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar31 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar31 = 0x8082;\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e76) == '\0') {\n              uVar31 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e73) != '\0') {\n              uVar31 = uVar31 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e74) != '\0') {\n              uVar31 = uVar31 | 0x4010;\n            }\n            iVar10 = (**(code **)(pcVar39 + 0x17838))(a_Stack_e2c,uVar31);\n            if (iVar10 < 0) {\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6044,a_Stack_e2c\n                        );\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iVar10 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar15 == 0) {\n              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0);\n              if (iVar15 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x61c8);\n                iVar10 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x601c,uVar31);\n              iVar15 = (**(code **)(pcVar39 + 0x178b8))(iVar10,&uStack_1064,0,iVar15 + -1);\n              if (iVar15 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x5618,a_Stack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uStack_112c;\n              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2275,aiStack_10a4);\n              if (iVar15 < 0) {\n                (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x61b0);\n              }\n              iVar15 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2282,aiStack_10a4);\n              if ((iVar15 < 0) || (iVar15 = *(int *)(pcVar39 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x618c);\n                iVar10 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar15 = *(int *)(pcVar39 + 0x177b0);\n            }\n            if (*(char *)(iVar15 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar15 = (**(code **)(pcVar39 + 0x1785c))(iVar10);\n            if (iVar15 < 0) {\n              (**(code **)(pcVar39 + 0x177e8))(iVar10);\n              (**(code **)(pcVar39 + 0x178b4))\n                        (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x6090,a_Stack_e2c\n                        );\n              (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n              iVar10 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar10) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          uVar16 = -iVar10;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar15 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar15 = dd_filetype(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar39 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar22 = (uint *)(**(code **)(pcVar39 + 0x17830))();\n          uVar16 = *puVar22;\n          (**(code **)(pcVar39 + 0x178b4))\n                    (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar10 == 1) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n          uVar16 = 0x1f;\n          goto LAB_000147ec;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\nLAB_00015624:\n        iVar36 = *(int *)(iVar17 + -0x4fe0);\n      }\n      else {\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar36 = *(int *)(iVar17 + -0x4fe0);\n        if (iVar10 == 1) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ee8);\n          uVar16 = 0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar36 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pfStack_10c0 = (flags_t *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar17 = read_blkdev_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n            if (iVar17 == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4,a_Stack_102c);\n              uStack_10bc = 0xffffffff;\n              pfStack_10c0 = (flags_t *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pfStack_10c0 = (flags_t *)0xffffffff;\n          }\n        }\n        else {\n          iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          if (iVar17 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ebc);\n            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          }\n          else if (iVar17 == 0xb) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e90);\n            iVar17 = scsi_read_capacity(iStack_1134,(int64_t *)&pfStack_10c0,&iStack_10cc);\n          }\n          if (iVar17 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (from_block < CONCAT44(pfStack_10c0,uStack_10bc)) {\n              pfStack_10c0 = (flags_t *)\n                             ((int)pfStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128));\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar17 == 9) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar17 == 2) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pfStack_10c0 = (flags_t *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pfStack_10b8 = (flags_t *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar17 = *(int *)(pcVar39 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar17 = read_blkdev_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n            if (iVar17 == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pfStack_10b8 = (flags_t *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pfStack_10b8 = (flags_t *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          if (iVar17 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d8c);\n            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          }\n          else if (iVar17 == 0xb) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d60);\n            iVar17 = scsi_read_capacity(iVar10,(int64_t *)&pfStack_10b8,&iStack_10c8);\n          }\n          if (iVar17 == 0) {\n            if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pfStack_10b8 <= (int)pfStack_1138) {\n              if (pfStack_10b8 != pfStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar16) {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pfStack_10b8 = (flags_t *)\n                           ((int)pfStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar16) - (int)pfStack_1138));\n            uStack_10b4 = uStack_10b4 - uVar16;\n          }\n          else {\n            if (iVar17 == 9) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pfStack_10b8 = (flags_t *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar17 = *(int *)(pcVar39 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar17 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar19 = *(int *)(pcVar39 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pfStack_10c0) || ((pfStack_10c0 == (flags_t *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pfStack_10b8 < 1) && ((pfStack_10b8 != (flags_t *)0x0 || (uStack_10b4 == 0)))) {\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10c0;\n            *(uint *)(iVar17 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            if (((int)pfStack_10b8 < (int)pfStack_10c0) ||\n               ((pfVar32 = pfStack_10c0, uVar16 = uStack_10bc, pfStack_10c0 == pfStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pfVar32 = pfStack_10b8;\n              uVar16 = uStack_10b4;\n            }\n            *(flags_t **)(iVar17 + -0x4fe0) = pfVar32;\n            *(uint *)(iVar17 + -0x4fdc) = uVar16;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        *(flags_t **)(iVar17 + -0x4fe0) = pfStack_10b8;\n        *(uint *)(iVar17 + -0x4fdc) = uStack_10b4;\n        pfVar32 = pfStack_10b8;\n        uVar16 = uStack_10b4;\n        if ((int)pfStack_10b8 < 0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d34);\n          uVar16 = 99;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar19 = *(int *)(pcVar39 + 0x177b0);\n        if (iVar36 == 0 && *(int *)(iVar17 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pfVar32 = *(flags_t **)(iVar19 + -0x4fe0);\n        uVar16 = *(uint *)(iVar19 + -0x4fdc);\n      }\n      if (bVar5) {\nLAB_00015cf0:\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < from_block + CONCAT44(pfVar32,uVar16) || (0xffff < (int)uStack_112c))))\n        {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar17 = *(int *)(pcVar39 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar17 = *(int *)(pcVar39 + 0x177b0), (int)uStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar36 = *(int *)(pcVar39 + 0x177b0);\n      if ((*(char *)(iVar17 + -0x4e76) == '\0') &&\n         (iVar36 = *(int *)(pcVar39 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        puStack_113c = (uint8_t *)\n                       (**(code **)(pcVar39 + 0x177f0))\n                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);\n        if (puStack_113c == (uint8_t *)0x0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c6c);\n          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        puStack_113c = (uint8_t *)\n                       (**(code **)(pcVar39 + 0x177f0))\n                                 (uStack_112c * *(int *)(iVar36 + -20000),0,&uStack_10c4,0);\n        if (puStack_113c == (uint8_t *)0x0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c90);\n          uVar16 = (**(code **)(pcVar39 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar17 = *(int *)(pcVar39 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar39 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar17 + -0x4e30) = 0;\n        *(undefined4 *)(iVar17 + -0x4e2c) = 0;\n        (**(code **)(pcVar39 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e14) < 1) {\n        iVar17 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0);\n        uVar31 = *(uint *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc);\n        if ((iVar17 < 1) && ((iVar17 != 0 || (uVar31 == 0)))) {\n          uVar16 = 0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          uStack_1124 = 0;\n          iVar36 = *(int *)(pcVar39 + 0x177b0);\n          iVar19 = *(int *)(pcVar39 + 0x177b0);\n          iVar23 = *(int *)(pcVar39 + 0x177c0);\n          cVar7 = '\0';\n          while( true ) {\n            pfStack_1138 = (flags_t *)((ulonglong)lVar43 >> 0x20);\n            uVar20 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)from_block >> 0x20);\n            iStack_1120 = (int)from_block;\n            if ((iVar17 < (int)uStack_112c >> 0x1f) ||\n               ((uVar27 = uStack_112c, (int)uStack_112c >> 0x1f == iVar17 && (uVar31 < uStack_112c))\n               )) {\n              uVar27 = uVar31;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar26 = *(int *)(pcVar39 + 0x177b0);\n            iVar33 = *(int *)(iVar26 + -20000);\n            while (iVar17 = (**(code **)(pcVar39 + 0x178a0))\n                                      (iStack_1134,puStack_113c,uVar27 * iVar33), iVar17 < 0) {\n              piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n              iVar33 = *(int *)(iVar26 + -20000);\n              if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x555c,\n                             uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar17);\n                }\n                (**(code **)(pcVar39 + 0x178b4))\n                          (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                uVar16 = 0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x555c,uVar27 * *(int *)(iVar33 + -20000),\n                         iVar17);\n              iVar33 = *(int *)(pcVar39 + 0x177b0);\n            }\n            iVar26 = *(int *)(iVar33 + -20000);\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (iVar17 < (int)(iVar26 * uVar27)) {\n              *(undefined4 *)(iVar33 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar33 + -0x4fe0) = 0;\n              if (iVar26 == 0) {\n                trap(7);\n              }\n              uVar27 = iVar17 / iVar26;\n              if (0 < iVar17 % iVar26) {\n                uVar27 = uVar27 + 1;\n                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            uVar16 = *(uint *)(iVar33 + -0x4ddc) + uVar27;\n            *(uint *)(iVar33 + -0x4de0) =\n                 ((int)uVar27 >> 0x1f) +\n                 (uint)(uVar16 < *(uint *)(iVar33 + -0x4ddc)) + *(int *)(iVar33 + -0x4de0);\n            *(uint *)(iVar33 + -0x4ddc) = uVar16;\nLAB_0001775c:\n            if (uVar27 == 0) {\nLAB_00017264:\n              uVar16 = 0;\n              goto LAB_0001726c;\n            }\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar2 = *(char *)(iVar19 + -0x4e6f);\n            }\n            else {\n              iVar26 = *(int *)(iVar33 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar39 + 0x17844))\n                                             (iStack_110c,puStack_113c,uVar27 * iVar26),\n                    iStack_10fc < 0) {\n                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                iVar26 = *(int *)(iVar33 + -20000);\n                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x557c,\n                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);\n                  }\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar39 + 0x1787c))\n                        (*(int *)(pcVar39 + 0x177c0) + -0x557c,\n                         uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iStack_10fc);\n              cVar2 = *(char *)(iVar19 + -0x4e6f);\n            }\n            iVar33 = (int)uVar27 >> 0x1f;\n            if ((cVar2 == '\0') ||\n               ((iVar26 = *(int *)(pcVar39 + 0x177b0), *(int *)(iVar26 + -0x4fe0) <= iVar33 &&\n                ((*(int *)(iVar26 + -0x4fe0) != iVar33 || (*(uint *)(iVar26 + -0x4fdc) <= uVar27))))\n               )) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar30 = *(int *)(iVar26 + -20000);\n              while (iVar25 = (**(code **)(pcVar39 + 0x17844))(iVar10,puStack_113c,uVar27 * iVar30),\n                    iVar25 < 0) {\n                piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                iVar30 = *(int *)(iVar26 + -20000);\n                if ((*piVar18 != 4) && (*piVar18 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x559c,\n                               uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar25);\n                  }\n                  (**(code **)(pcVar39 + 0x178b4))\n                            (afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar39 + 0x1787c))\n                          (*(int *)(pcVar39 + 0x177c0) + -0x559c,uVar27 * *(int *)(iVar26 + -20000),\n                           iVar25);\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n              }\n              iVar30 = *(int *)(pcVar39 + 0x177b0);\n              if (iVar25 < (int)(uVar27 * *(int *)(iVar26 + -20000))) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5828);\n                iVar15 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000);\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                if (iVar15 == 0) {\n                  trap(7);\n                }\n                uVar16 = *(uint *)(iVar17 + -0x4dec) + iVar25 / iVar15;\n                *(uint *)(iVar17 + -0x4df0) =\n                     *(int *)(iVar17 + -0x4df0) + (iVar25 / iVar15 >> 0x1f) +\n                     (uint)(uVar16 < *(uint *)(iVar17 + -0x4dec));\n                *(uint *)(iVar17 + -0x4dec) = uVar16;\n                if (iVar25 % iVar15 < 1) {\n                  uVar16 = 0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4df8) + 1;\n                  uVar16 = 0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              uVar16 = uVar27 + *(uint *)(iVar30 + -0x4dec);\n              *(uint *)(iVar30 + -0x4df0) =\n                   (uint)(uVar16 < *(uint *)(iVar30 + -0x4dec)) +\n                   *(int *)(iVar30 + -0x4df0) + iVar33;\n              *(uint *)(iVar30 + -0x4dec) = uVar16;\n              cVar2 = '\0';\n              uStack_1124 = uVar27;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) == 0) {\n                iVar26 = (**(code **)(pcVar39 + 0x177f0))\n                                   (uVar27 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar39 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34) = iVar26;\n                if (iVar26 == 0) {\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b6c);\n                  uVar16 = 0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar26 = (**(code **)(pcVar39 + 0x17888))\n                                 (puStack_113c,\n                                  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e34),\n                                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) * uVar27);\n              if (iVar26 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5b10);\n                  }\n                  iVar26 = (**(code **)(pcVar39 + 0x17870))(iVar10);\n                  if (iVar26 < 0) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a98);\n                    uVar16 = 0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a84);\n                    iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  }\n                  uVar16 = *(uint *)(iVar26 + -0x4dfc) + uVar27;\n                  *(uint *)(iVar26 + -0x4e00) =\n                       *(int *)(iVar26 + -0x4e00) +\n                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) + iVar33;\n                  *(uint *)(iVar26 + -0x4dfc) = uVar16;\n                  iVar25 = 0;\n                  uStack_1124 = uVar27;\n                }\n                else {\n                  iVar26 = *(int *)(pcVar39 + 0x177b0);\n                  uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dfc);\n                  *(uint *)(iVar26 + -0x4e00) =\n                       (uint)(uVar16 < *(uint *)(iVar26 + -0x4dfc)) +\n                       *(int *)(iVar26 + -0x4e00) + iVar33;\n                  *(uint *)(iVar26 + -0x4dfc) = uVar16;\n                  iVar25 = 0;\n                  uStack_1124 = uVar27;\n                  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))\n                              (*(int *)(pcVar39 + 0x177c0) + -0x5b4c,uVar16,pfStack_1138,uVar20,\n                               uVar27);\n                  }\n                }\n              }\n              else {\n                iVar26 = *(int *)(pcVar39 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar19 + -0x4e77);\n                iVar35 = *(int *)(iVar19 + -0x4e5c);\n                bVar4 = true;\n                iVar33 = *(int *)(pcVar39 + 0x177b0);\n                iVar26 = *(int *)(pcVar39 + 0x177bc);\n                iVar25 = *(int *)(pcVar39 + 0x177b0);\n                iVar30 = *(int *)(pcVar39 + 0x177c0);\nLAB_000169f8:\n                iVar37 = *(int *)(iVar33 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pfVar32 = pfStack_1138;\n                iVar24 = (*(code *)(&DAT_00001dd4 + iVar26))\n                                   (auStack_103c,*(undefined4 *)(iVar19 + -0x4e6c),uVar27);\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar39 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar19 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar37 * uVar27;\n                  puStack_1094 = puStack_113c;\n                  uStack_109b = 0x40;\n                  pfStack_108c = afStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar20;\n                  if (2 < *(int *)(iVar25 + -0x4e1c)) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a2c);\n                    puVar29 = auStack_103c;\n                    if (0 < *(int *)(iVar19 + -0x4e6c)) {\n                      iVar24 = 0;\n                      do {\n                        (**(code **)(pcVar39 + 0x1787c))(iVar30 + -0x6cd8,*puVar29);\n                        iVar24 = iVar24 + 1;\n                        puVar29 = puVar29 + 1;\n                      } while (iVar24 < *(int *)(iVar19 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2285,aiStack_10a4);\n                    if (-1 < iVar24) {\n                      if (2 < *(int *)(iVar25 + -0x4e1c)) {\n                        (**(code **)(pcVar39 + 0x1787c))\n                                  (*(int *)(pcVar39 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      uVar16 = (**(code **)(pcVar39 + 0x17840))(aiStack_10a4);\n                      if (uVar16 < 0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        iVar10 = (*(pcVar39 + *(int *)(iVar23 + -0x53e8 + uVar16 * 4) + 0x1f788))();\n                        return iVar10;\n                      }\n                      (**(code **)(pcVar39 + 0x177e0))\n                                (*(int *)(pcVar39 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar25 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar19 + -0x4e68) == 0) {\n                        if (uVar16 == 0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x596c);\n                      iVar33 = *(int *)(pcVar39 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n                    iVar24 = *piVar18;\n                  } while ((iVar24 == 4) || (iVar24 == 0xb));\n                  if (iVar24 == 0xc) {\n                    uVar16 = 0xfffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5a1c);\n                    uVar16 = 0xffffffff;\n                  }\n                }\n                else {\n                  pfVar32 = (flags_t *)uVar27;\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5a60);\n                  uVar16 = 1;\n                }\nLAB_00016978:\n                if (uVar16 - 1 < 2) goto LAB_00016fcc;\n                if (uVar16 == 0xfffffffe) {\n                  if (!bVar4) {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar24 = (**(code **)(pcVar39 + 0x17878))(iVar10,0x2272,&iStack_10d4);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar24 = *(int *)(iVar33 + -20000);\n                  if (iVar24 == 0) {\n                    trap(7);\n                  }\n                  uVar31 = (iVar24 + iStack_10d4 + -1) / iVar24;\n                  if ((int)uVar27 <= (int)uVar31) goto LAB_00016fcc;\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5938,uVar31);\n                  uStack_112c = uVar31;\nLAB_000169f4:\n                  bVar4 = false;\n                  uVar27 = uVar31;\n                  goto LAB_000169f8;\n                }\n                if (uVar16 == 6) {\n                  if (!bVar4) goto LAB_000169a4;\n                  iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe8) = iVar24;\n                  if (iVar24 < 1) {\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5910);\n                  bVar4 = false;\n                  goto LAB_000169f8;\n                }\n                if (uVar16 == 0xb) {\n                  if (bVar4) {\n                    iVar24 = *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fec) = iVar24;\n                    if (iVar24 < 1) {\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x58d0);\n                    bVar4 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)uVar16 < 0) {\n                  iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar35) {\n                  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e10) + 1;\n                  iVar35 = iVar35 + -1;\n                  uVar31 = uVar27;\n                  if (0 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (uVar16 != 0) {\nLAB_00016fcc:\n                  if (uVar16 == 0xfffffffe) {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar39 + 0x1787c))\n                            (*(int *)(pcVar39 + 0x177c0) + -0x5864,iVar15,pfStack_1138,uVar20,\n                             pfVar32);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar33 = *(int *)(pcVar39 + 0x177b0);\nLAB_00016e3c:\n                uVar16 = *(uint *)(iVar33 + -0x4dec) + uVar27;\n                *(uint *)(iVar33 + -0x4df0) =\n                     ((int)uVar27 >> 0x1f) +\n                     (uint)(uVar16 < *(uint *)(iVar33 + -0x4dec)) + *(int *)(iVar33 + -0x4df0);\n                *(uint *)(iVar33 + -0x4dec) = uVar16;\n                uStack_1124 = uVar27;\n                if (*(char *)(iVar19 + -0x4e77) == '\0') {\n                  iVar25 = 0;\n                  cVar2 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar25 = 0;\n                  cVar2 = '\0';\n                }\n                else {\n                  cVar2 = '\0';\n                  iVar25 = 0;\n                }\n              }\n            }\n            else {\n              iVar26 = *(int *)(pcVar39 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              uVar16 = uVar27 + *(uint *)(iVar26 + -0x4dec);\n              *(uint *)(iVar26 + -0x4df0) =\n                   (uint)(uVar16 < *(uint *)(iVar26 + -0x4dec)) +\n                   *(int *)(iVar26 + -0x4df0) + iVar33;\n              *(uint *)(iVar26 + -0x4dec) = uVar16;\n              cVar2 = '\0';\n              iVar25 = 0;\n              uStack_1124 = uVar27;\n            }\n            if (((*(int *)(iVar36 + -0x4e44) == 0) || (iVar17 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            else {\n              iVar17 = (**(code **)(pcVar39 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  from_block * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000) +\n                                  (longlong)iVar17,4);\n              if (iVar17 == 0) goto LAB_00016760;\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5800);\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            if (((((uVar16 & 2) == 0) || (iStack_10fc < 1)) || (iVar15 != 1 && iVar15 != 0x20)) ||\n               (iVar17 = (**(code **)(pcVar39 + 0x17800))(iStack_110c), iVar17 == 0)) {\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57d4);\n              uVar16 = *(uint *)(iVar19 + -0x4e64);\n            }\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            if (((uVar16 & 1) != 0) && (0 < iVar25)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar17 = (**(code **)(pcVar39 + 0x17800))(iVar10), iVar17 != 0)) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x57a8);\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n              else {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n            }\n            iVar33 = *(int *)(iVar17 + -0x4fe0);\n            uVar27 = *(uint *)(iVar17 + -0x4fdc);\n            if (iVar33 < 1) {\n              uVar16 = 0;\n              if (iVar33 != 0) goto LAB_0001726c;\n              if (uVar27 == 0) goto LAB_00017264;\n            }\n            uVar31 = uVar27 - uStack_1124;\n            iVar17 = (iVar33 - ((int)uStack_1124 >> 0x1f)) - (uint)(uVar27 < uVar31);\n            iVar33 = *(int *)(pcVar39 + 0x177b0);\n            *(int *)(iVar33 + -0x4fe0) = iVar17;\n            *(uint *)(iVar33 + -0x4fdc) = uVar31;\n            lVar42 = from_block + (int)uStack_1124;\n            lVar8 = lVar43 + (int)uStack_1124;\n            if ((iVar17 < 1) && ((uVar16 = 0, iVar17 != 0 || (uVar31 == 0)))) goto LAB_0001726c;\n            cVar7 = cVar2;\n            from_block = from_block + (int)uStack_1124;\n            lVar43 = lVar43 + (int)uStack_1124;\n            if (cVar2 == '\0') {\n              uStack_1124 = 0;\n              from_block = lVar42;\n              lVar43 = lVar8;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar36 + -0x4e57);\n          uVar16 = sg_read(iStack_1134,puStack_113c,uVar27,from_block,uVar31,\n                           *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),\n                           (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);\n          uVar41 = uVar27;\n          if (uVar16 == 0xfffffffe) {\n            iVar17 = (**(code **)(pcVar39 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar17) {\n              iVar17 = *(int *)(pcVar39 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n              }\n              iVar17 = *(int *)(iVar17 + -20000);\n              if (iVar17 == 0) {\n                trap(7);\n              }\n              uVar41 = (iVar17 + iStack_10d4 + -1) / iVar17;\n              if ((int)uVar41 < (int)uVar27) {\n                (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c08,uVar41);\n                uVar16 = sg_read(iStack_1134,puStack_113c,uVar41,from_block,uVar31,\n                                 *(flags_t **)(*(int *)(pcVar39 + 0x177b0) + -20000),\n                                 (_Bool *)(iVar36 + -0x4e58),(int *)&cStack_10d5);\n                uStack_112c = uVar41;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar39 + 0x17874))(*(int *)(pcVar39 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (uVar16 == 0) {\n              iVar17 = *(int *)(pcVar39 + 0x177b0);\n              uVar27 = uVar41;\n              if ((int)uStack_10d0 < (int)uVar41) {\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                *(undefined4 *)(iVar17 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar17 + -0x4fe0) = 0;\n                iVar17 = *(int *)(pcVar39 + 0x177b0);\n                uVar27 = uStack_10d0;\n              }\n              uVar16 = *(uint *)(iVar17 + -0x4ddc) + uVar27;\n              *(uint *)(iVar17 + -0x4de0) =\n                   ((int)uVar27 >> 0x1f) +\n                   (uint)(uVar16 < *(uint *)(iVar17 + -0x4ddc)) + *(int *)(iVar17 + -0x4de0);\n              *(uint *)(iVar17 + -0x4ddc) = uVar16;\n              iVar17 = 0;\n              if ((*(char *)(iVar36 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (uVar16 == 0xfffffffe) {\n              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar15 = *(int *)(pcVar39 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar39 + 0x1787c))\n                      (*(int *)(pcVar39 + 0x177c0) + -0x5be0,iVar15,iStack_1128,iStack_1120,\n                       from_block);\n          }\nLAB_0001628c:\n          if (((cVar7 != '\0') && (0 < (int)uStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar36 = *(int *)(pcVar39 + 0x177b0);\n            iVar17 = *(int *)(pcVar39 + 0x177b0);\n            iVar15 = *(int *)(iVar36 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar15 = *(int *)(pcVar39 + 0x177b0);\n        if ((bVar3) && (iVar15 = *(int *)(pcVar39 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x574c,a_Stack_e2c);\n          iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,1,0);\n          if (iVar15 == 6) {\n            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x572c);\n            iVar15 = (**(code **)(pcVar39 + 0x177ec))(iVar10,0,0,0,0,0,0,0);\n          }\n          if (iVar15 == 0) goto LAB_00016028;\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56fc);\n          iVar15 = *(int *)(pcVar39 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5c54);\n        uVar16 = 0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar15 = *(int *)(pcVar39 + 0x177b0);\n      }\n      if (*(char *)(iVar15 + -0x4e17) != '\0') {\n        calc_duration_throughput(false);\n      }\n      (**(code **)(pcVar39 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar39 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar39 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar10 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar39 + 0x177e8))(iVar10);\n        iVar10 = *(int *)(pcVar39 + 0x177b0);\n      }\n      if (*(int *)(iVar10 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4fdc) == 0) {\n          iVar10 = *(int *)(pcVar39 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56dc);\n          iVar10 = *(int *)(pcVar39 + 0x177c0);\n          if (uVar16 == 0) {\n            uVar16 = 99;\n          }\n        }\n        print_stats((char *)(iVar10 + -0x7604));\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar10 = *(int *)(pcVar39 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar10 = (**(code **)(pcVar39 + 0x1783c))(*(int *)(pcVar39 + 0x177c0) + -0x5694,0);\n          if (iVar10 < 0) goto LAB_000160d8;\n          iVar15 = (**(code **)(pcVar39 + 0x178a0))(iVar10,aiStack_10a4,1);\n          if ((iVar15 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar39 + 0x1787c))\n                      (*(int *)(pcVar39 + 0x177c0) + -0x567c,*(int *)(pcVar39 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar39 + 0x177e8))(iVar10);\n          iVar10 = *(int *)(pcVar39 + 0x177b0);\n        }\n        if (*(int *)(iVar10 + -0x4dd8) != 0) {\n          (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)uVar16 < 0) {\n        uVar16 = 99;\n      }\n      goto LAB_000147ec;\n    }\n    iVar10 = *(int *)(pcVar39 + 0x177c0);\n  }\n  (**(code **)(pcVar39 + 0x1787c))(iVar10 + -0x6338);\n  (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6420);\n  uVar16 = 0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar39 + 0x17890)) {\n    pcVar39 = *(code **)(pcVar39 + 0x17880);\n    (*pcVar39)();\n    return *(int *)(pcVar39 + 0x13608);\n  }\n  return uVar16;\nLAB_000146c0:\n  if (!bVar4) {\n    if (bVar28) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar10 = *(int *)(pcVar39 + 0x177b0);\n  if (bVar28) {\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x63b8);\n    uVar16 = 0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar18 = (int *)(**(code **)(pcVar39 + 0x17830))();\n    iVar15 = *(int *)(iVar36 + -20000);\n    if ((*piVar18 != 4) && (*piVar18 != 0xb)) break;\nLAB_000162c4:\n    iVar19 = (**(code **)(pcVar39 + 0x17844))\n                       (iVar10,*(undefined4 *)(iVar17 + -0x4e34),uStack_1124 * iVar15);\n    if (-1 < iVar19) {\n      if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar39 + 0x1787c))\n                  (*(int *)(pcVar39 + 0x177c0) + -0x55d0,\n                   uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar39 + 0x1787c))\n              (*(int *)(pcVar39 + 0x177c0) + -0x55d0,\n               uStack_1124 * *(int *)(*(int *)(pcVar39 + 0x177b0) + -20000),iVar19);\n  }\n  (**(code **)(pcVar39 + 0x178b4))(afStack_a2c,0x300,1,0x300,*(int *)(pcVar39 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar39 + 0x17874))(afStack_a2c);\n  goto LAB_0001726c;\n}" primitive_type (function_declarator "process_flags(char *arg,flags_t *fp)" identifier (parameter_list "(char *arg,flags_t *fp)" ( (parameter_declaration "char *arg" primitive_type (pointer_declarator "*arg" * identifier)) , (parameter_declaration "flags_t *fp" type_identifier (pointer_declarator "*fp" * identifier)) ))) (compound_statement "{\n  _Bool _Var1;\n  char cVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  bool bVar6;\n  char cVar7;\n  longlong lVar8;\n  char *pcVar9;\n  int iVar10;\n  flags_t *pfVar11;\n  flags_t *pfVar12;\n  flags_t *pfVar13;\n  flags_t *pfVar14;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  undefined4 uVar20;\n  char *pcVar21;\n  uint *puVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  uint uVar27;\n  bool bVar28;\n  undefined1 *puVar29;\n  int iVar30;\n  undefined4 in_a3;\n  undefined1 write_true;\n  uint uVar31;\n  flags_t *pfVar32;\n  int iVar33;\n  flags_t *unaff_s1;\n  uint8_t *puVar34;\n  flags_t *unaff_s3;\n  int iVar35;\n  undefined *unaff_s4;\n  flags_t *unaff_s5;\n  int iVar36;\n  flags_t *unaff_s6;\n  flags_t *unaff_s7;\n  int iVar37;\n  undefined *puVar38;\n  flags_t *unaff_s8;\n  code *pcVar39;\n  code *pcVar40;\n  uint uVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong from_block;\n  uint8_t *puStack_113c;\n  flags_t *pfStack_1138;\n  int iStack_1134;\n  uint uStack_112c;\n  int iStack_1128;\n  uint uStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  uint uStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  flags_t *pfStack_10c0;\n  uint uStack_10bc;\n  flags_t *pfStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  uint8_t *puStack_1094;\n  undefined1 *puStack_1090;\n  flags_t *pfStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  _Bool a_Stack_102c [512];\n  _Bool a_Stack_e2c [512];\n  char acStack_c2c [512];\n  flags_t afStack_a2c [7];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  flags_t *pfStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int iStack_318;\n  uint uStack_314;\n  flags_t *pfStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  flags_t *pfStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  flags_t *pfStack_288;\n  flags_t *pfStack_284;\n  flags_t *pfStack_280;\n  flags_t *pfStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  flags_t *pfStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  flags_t *pfStack_258;\n  undefined1 *puVar44;\n  undefined1 *puVar45;\n  int *piStack_23c;\n  flags_t fStack_21c;\n  undefined4 uStack_1fc;\n  byte bStack_1ed;\n  flags_t *pfStack_1e4;\n  uint8_t auStack_1dc [16];\n  flags_t afStack_1cc [2];\n  int iStack_18c;\n  flags_t *pfStack_188;\n  flags_t *pfStack_184;\n  flags_t *pfStack_180;\n  flags_t *pfStack_17c;\n  undefined *puStack_178;\n  flags_t *pfStack_174;\n  flags_t *pfStack_170;\n  flags_t *pfStack_16c;\n  flags_t *pfStack_168;\n  code *pcStack_164;\n  undefined1 *puStack_158;\n  undefined4 uStack_14c;\n  int iStack_148;\n  flags_t *local_144;\n  flags_t *local_140;\n  char buff [256];\n  \n  iVar10 = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar29 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(buff);\n  write_true = (undefined1)in_a3;\n  buff[0xff] = '\0';\n  pfVar32 = (flags_t *)buff;\n  if (buff[0] == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    iVar15 = 1;\n  }\n  else {\n    unaff_s3 = (flags_t *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (flags_t *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (flags_t *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (flags_t *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (flags_t *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (flags_t *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (flags_t *)(PTR_DAT_0002b068 + -0x6d5c);\n    pfVar11 = (flags_t *)(PTR_DAT_0002b068 + -0x6d54);\n    pfVar12 = (flags_t *)(PTR_DAT_0002b068 + -0x6d50);\n    pfVar13 = (flags_t *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      pfVar14 = (flags_t *)(*(code *)PTR_strchr_0002b100)(pfVar32,0x2c);\n      unaff_s1 = pfVar14;\n      if (pfVar14 != (flags_t *)0x0) {\n        unaff_s1 = (flags_t *)&pfVar14->dio;\n        pfVar14->append = false;\n      }\n      arg = (char *)unaff_s3;\n      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n      if (iVar15 == 0) {\n        fp->append = true;\n      }\n      else {\n        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32,unaff_s4);\n        arg = (char *)unaff_s5;\n        if (iVar15 == 0) {\n          fp->coe = fp->coe + 1;\n        }\n        else {\n          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n          if (iVar15 == 0) {\n            fp->dio = true;\n          }\n          else {\n            arg = (char *)unaff_s6;\n            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n            if (iVar15 == 0) {\n              fp->direct = true;\n            }\n            else {\n              arg = (char *)unaff_s7;\n              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n              if (iVar15 == 0) {\n                fp->dpo = true;\n              }\n              else {\n                arg = (char *)unaff_s8;\n                iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                if (iVar15 == 0) {\n                  fp->dsync = true;\n                }\n                else {\n                  arg = (char *)local_144;\n                  iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                  if (iVar15 == 0) {\n                    fp->excl = true;\n                  }\n                  else {\n                    arg = (char *)local_140;\n                    iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                    if (iVar15 == 0) {\n                      fp->flock = true;\n                    }\n                    else {\n                      arg = (char *)pfVar11;\n                      iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                      if (iVar15 == 0) {\n                        fp->fua = true;\n                      }\n                      else {\n                        arg = (char *)pfVar12;\n                        iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                        if (iVar15 == 0) {\n                          fp->nocache = fp->nocache + 1;\n                        }\n                        else {\n                          arg = (char *)pfVar13;\n                          iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                          if (iVar15 != 0) {\n                            arg = PTR_DAT_0002b068 + -0x66cc;\n                            iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                            if (iVar15 == 0) {\n                              fp->sgio = true;\n                            }\n                            else {\n                              arg = PTR_DAT_0002b068 + -0x6d40;\n                              iVar15 = (*(code *)PTR_strcmp_0002b150)(pfVar32);\n                              write_true = (undefined1)in_a3;\n                              if (iVar15 != 0) {\n                                arg = &pfVar32->append;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                iVar15 = 1;\n                                goto LAB_0001260c;\n                              }\n                              fp->sparse = true;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      write_true = (undefined1)in_a3;\n      pfVar32 = unaff_s1;\n    } while (unaff_s1 != (flags_t *)0x0);\n    iVar15 = 0;\n  }\nLAB_0001260c:\n  if (iVar10 == *(int *)PTR___stack_chk_guard_0002b138) {\n    return iVar15;\n  }\n  pcVar39 = sg_read_low;\n  puVar38 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  pfVar12 = (flags_t *)&_gp;\n  iStack_18c = **(int **)(puVar38 + 0x18ae0);\n  _Var1 = local_144->dpo;\n  uVar16 = (uint)local_144->fua;\n  puVar45 = (undefined1 *)0x0;\n  puVar44 = &_gp;\n  pfVar11 = (flags_t *)local_144->cdbsz;\n  pfStack_188 = pfVar32;\n  pfStack_184 = unaff_s1;\n  pfStack_180 = fp;\n  pfStack_17c = unaff_s3;\n  puStack_178 = unaff_s4;\n  pfStack_174 = unaff_s5;\n  pfStack_170 = unaff_s6;\n  pfStack_16c = unaff_s7;\n  pfStack_168 = unaff_s8;\n  pcStack_164 = pcVar39;\n  puStack_158 = puVar29;\n  iVar15 = sg_build_scsi_cdb(auStack_1dc,(int)pfVar11,(uint)puVar29,CONCAT44(&_gp,uStack_14c),\n                             (_Bool)write_true,false,local_144->fua);\n  if (iVar15 == 0) {\n    (**(code **)(puVar38 + 0x18a84))(&fStack_21c.field_0xa,0,0x36);\n    fStack_21c.append = false;\n    fStack_21c.dio = false;\n    fStack_21c.direct = false;\n    fStack_21c.dpo = true;\n    fStack_21c.sgio = SUB41(local_144->cdbsz,0);\n    fStack_21c.nocache = (int)auStack_1dc;\n    fStack_21c.dsync = true;\n    fStack_21c.excl = true;\n    fStack_21c.flock = true;\n    fStack_21c.fua = true;\n    fStack_21c.cdbsz = (int)puStack_158 * iStack_148;\n    fStack_21c.sparse = true;\n    fStack_21c.pdt = (int)afStack_1cc;\n    fStack_21c.retries = 60000;\n    if (local_140 == (flags_t *)0x0) {\nLAB_00012788:\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n    }\n    else {\n      iVar17 = *(int *)(puVar38 + 0x18a00);\n      if (local_140->append != false) {\n        uStack_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    fStack_21c.coe = (int)arg;\n    if (2 < *(int *)(iVar17 + -0x4e1c)) {\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6ce8);\n      puVar34 = auStack_1dc;\n      if (0 < local_144->cdbsz) {\n        iVar36 = *(int *)(puVar38 + 0x18a10);\n        iVar17 = 0;\n        do {\n          (**(code **)(puVar38 + 0x18acc))(iVar36 + -0x6cd8,*puVar34);\n          iVar17 = iVar17 + 1;\n          puVar34 = puVar34 + 1;\n        } while (iVar17 < local_144->cdbsz);\n      }\n      (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6424);\n    }\n    arg = &fStack_21c.append;\n    fp = (flags_t *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      pfVar32 = (flags_t *)arg;\n      iVar17 = (**(code **)(puVar38 + 0x18ac8))(iVar10,0x2285);\n      if (-1 < iVar17) {\n        pfVar11 = pfStack_1e4;\n        if (2 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6cac);\n          pfVar11 = pfStack_1e4;\n        }\n        pfVar13 = (flags_t *)(**(code **)(puVar38 + 0x18a90))(&fStack_21c);\n        fp = (flags_t *)fStack_21c.pdt;\n        arg = (char *)(uint)bStack_1ed;\n        if (pfVar13 < (flags_t *)0x16) {\n                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar10 = (*(code *)(puVar38 +\n                             *(int *)(*(int *)(puVar38 + 0x18a10) + -0x5530 + (int)pfVar13 * 4) +\n                             0x209d8))();\n          return iVar10;\n        }\n        *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) =\n             *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c)) {\n          pfVar32 = (flags_t *)(*(int *)(*(int *)(puVar38 + 0x18a00) + -0x4e1c) < 2 ^ 1);\n          pfVar11 = &fStack_21c;\n          (**(code **)(puVar38 + 0x18a30))(*(int *)(puVar38 + 0x18a10) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar18 = (int *)(**(code **)(puVar38 + 0x18a80))();\n      iVar17 = *piVar18;\n    } while ((iVar17 == 4) || (pfVar11 = (flags_t *)0x2285, iVar17 == 0xb));\n    if (iVar17 == 0xc) {\n      pfVar13 = (flags_t *)&SUB_fffffffe;\n      pfVar32 = (flags_t *)arg;\n    }\n    else {\n      pfVar32 = (flags_t *)arg;\n      (**(code **)(puVar38 + 0x18ac4))(*(int *)(puVar38 + 0x18a10) + -0x6cd0);\n      pfVar13 = (flags_t *)0xffffffff;\n    }\n  }\n  else {\n    pfVar32 = pfVar12;\n    puVar44 = puStack_158;\n    (**(code **)(puVar38 + 0x18acc))(*(int *)(puVar38 + 0x18a10) + -0x6d20);\n    pfVar13 = (flags_t *)0x1;\n  }\nLAB_0001282c:\n  if (iStack_18c == **(int **)(puVar38 + 0x18ae0)) {\n    return (int)pfVar13;\n  }\n  pcVar39 = *(code **)(puVar38 + 0x18ad0);\n  pcVar40 = sg_read;\n  iVar10 = iStack_18c;\n  (*pcVar39)();\n  pcStack_2d8 = pcVar39 + 0x202c8;\n  pfStack_26c = local_140;\n  puStack_270 = &_gp;\n  pfStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar39 + 0x183d0);\n  iVar17 = *(int *)(uVar16 + 0x1c);\n  pfStack_2d0 = pfVar11;\n  pfStack_288 = pfVar13;\n  pfStack_284 = (flags_t *)arg;\n  pfStack_280 = fp;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar15;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar10;\n  pfStack_258 = pfVar32;\n  if ((int)pfVar32 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    iStack_2b4 = (int)puVar45 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(&DAT_00002658 + *(int *)(pcVar39 + 0x182fc));\n    iStack_2bc = *(int *)(pcVar39 + 0x18300);\n    pfVar12 = (flags_t *)(*(int *)(pcVar39 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar39 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar39 + 0x18300) + -0x5484;\n    puStack_2c4 = puVar45;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      pfVar11 = pfStack_2d0;\n      puStack_2f0 = puVar44;\n      puStack_2e8 = puVar45;\n      uStack_2e4 = uVar16;\n      uStack_2e0 = (uint)_Var1;\n      iVar10 = (*pcStack_2cc)(iStack_260,pfStack_2d0,pfVar32);\n      if (iVar10 + 2U < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar10 = (*(pcStack_2d8 + *(int *)(&pfVar12->sgio + iVar10 * 4)))();\n        return iVar10;\n      }\n      iStack_2a8 = 0;\n      if (iVar17 < 1) {\n        if (*(int *)(uVar16 + 0x10) == 0) {\n          if (iVar10 == 0) {\n            iVar10 = -1;\n          }\n        }\n        else {\n          puVar45 = (undefined1 *)((int)puVar45 * (int)pfVar32);\n          pfVar11 = (flags_t *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(pfStack_2d0,0,puVar45);\n          puStack_2f0 = puVar45;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)pfVar32) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            pfVar32 = (flags_t *)(&pfVar32->append + iStack_2c8);\n            *piStack_2c0 = (int)pfVar32;\n          }\n          iVar15 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar15 < 1) ||\n             (iVar36 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar36, iVar36 <= iVar15)) {\n            if (iStack_2a8 != 0) {\n              iVar10 = 0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar17 = iVar17 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      pfVar32 = (flags_t *)((int)pfStack_258 - iStack_2c8);\n      pfVar13 = pfVar32;\n    } while (0 < (int)pfVar32);\n  }\n  pfVar32 = pfVar13;\n  if (piStack_2c0 == (int *)0x0) {\n    iVar10 = 0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    iVar10 = 0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return iVar10;\n  }\n  pcVar39 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar15 = iStack_28c;\n  (*pcVar39)();\n  pcStack_304 = pcVar40;\n  uStack_308 = (uint)_Var1;\n  iStack_30c = iVar17;\n  pfStack_310 = pfVar12;\n  uStack_314 = uVar16;\n  iStack_318 = iVar10;\n  puStack_31c = puVar44;\n  uStack_320 = uStack_14c;\n  puStack_324 = puVar45;\n  pfStack_328 = pfVar32;\n  iStack_32c = **(int **)(pcVar39 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pfStack_10c0 = (flags_t *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pfStack_10b8 = (flags_t *)0xffffffff;\n  a_Stack_102c[0] = false;\n  a_Stack_e2c[0] = false;\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar15) {\n    from_block = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    uStack_112c = 0x80;\n    iVar10 = 1;\n    bVar28 = false;\n    bVar4 = false;\n    bVar3 = false;\n    bVar5 = false;\n    bVar6 = false;\n    pcVar40 = (code *)(*(int *)(pcVar39 + 0x177bc) + 0xfb0);\n    iVar17 = *(int *)(pcVar39 + 0x177b0);\n    iVar36 = *(int *)(pcVar39 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    iVar19._0_1_ = pfVar11->dsync;\n    iVar19._1_1_ = pfVar11->excl;\n    iVar19._2_1_ = pfVar11->flock;\n    iVar19._3_1_ = pfVar11->fua;\n    if (iVar19 != 0) {\n      (**(code **)(pcVar39 + 0x1782c))(&cStack_72c,iVar19,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar21 = &cStack_72c;\n      }\n      else {\n        pcVar21 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar9 = acStack_72b;\n          do {\n            pcVar21 = pcVar9;\n            if (*pcVar21 == '\0') goto LAB_00013a20;\n            pcVar9 = pcVar21 + 1;\n          } while (*pcVar21 != '=');\n        }\n        *pcVar21 = '\0';\n        pcVar21 = pcVar21 + 1;\n      }\nLAB_00013a20:\n      iVar19 = (**(code **)(pcVar39 + 0x177fc))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n        *(bool *)(iVar17 + -0x4e58) = iVar19 != 0;\n        *(bool *)(iVar36 + -0x4e78) = iVar19 != 0;\n      }\n      else {\n        iVar19 = (**(code **)(pcVar39 + 0x178a8))(&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar19 == 0) {\n          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n          *(bool *)(iVar17 + -0x4e50) = iVar19 != 0;\n          *(bool *)(iVar36 + -0x4e70) = iVar19 != 0;\n        }\n        else {\n          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66c4);\n          if (iVar19 == 0) {\n            uStack_112c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n            if (uStack_112c == 0xffffffff) {\n              (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x66c0);\n              uVar16 = 1;\n              goto LAB_000147ec;\n            }\n            bVar6 = true;\n          }\n          else {\n            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x66a0);\n            if (iVar19 == 0) {\n              uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n              *(undefined4 *)(*(int *)(pcVar39 + 0x177b0) + -20000) = uVar20;\n              bVar6 = true;\n            }\n            else {\n              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x669c);\n              if (iVar19 == 0) {\n                uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                *(undefined4 *)(iVar17 + -0x4e4c) = uVar20;\n                *(undefined4 *)(iVar36 + -0x4e6c) = uVar20;\n                bVar5 = true;\n              }\n              else {\n                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d7c);\n                if (iVar19 == 0) {\n                  uVar20 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                  *(undefined4 *)(iVar17 + -0x4e48) = uVar20;\n                  *(undefined4 *)(iVar36 + -0x4e68) = uVar20;\n                }\n                else {\n                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6694);\n                  if (iVar19 == 0) {\n                    iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                    *(int *)(*(int *)(pcVar39 + 0x177b0) + -0x4e24) = iVar19;\n                    if (iVar19 == -1) {\n                      (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6688);\n                      uVar16 = 1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6660);\n                    if (iVar19 == 0) {\n                      (**(code **)(pcVar39 + 0x1782c))(afStack_a2c,pcVar21,0x100);\n                      uStack_92d = 0;\n                      if (afStack_a2c[0].append == false) {\n                        (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x6658);\n                        iVar10 = *(int *)(pcVar39 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar39 + 0x1787c))(iVar10 + -22000);\n                        uVar16 = 1;\n                        goto LAB_000147ec;\n                      }\n                      iVar19 = *(int *)(pcVar39 + 0x177c0);\n                      pfVar32 = afStack_a2c;\n                      do {\n                        pfVar13 = (flags_t *)(**(code **)(pcVar39 + 0x17858))(pfVar32,0x2c);\n                        pfVar12 = pfVar13;\n                        if (pfVar13 != (flags_t *)0x0) {\n                          pfVar12 = (flags_t *)&pfVar13->dio;\n                          pfVar13->append = false;\n                        }\n                        iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                        if (iVar23 == 0) {\n                          *(int *)(iVar17 + -0x4e48) = *(int *)(iVar17 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32,iVar19 + -0x6638);\n                          if ((iVar23 != 0) &&\n                             (iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32), iVar23 != 0)) {\n                            iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                            if (iVar23 == 0) {\n                              *(undefined1 *)(iVar36 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar23 = (**(code **)(pcVar39 + 0x178a8))(pfVar32);\n                              if (iVar23 != 0) {\n                                (**(code **)(pcVar39 + 0x1787c))\n                                          (*(int *)(pcVar39 + 0x177c0) + -0x6d38);\n                                iVar10 = *(int *)(pcVar39 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pfVar32 = pfVar12;\n                      } while (pfVar12 != (flags_t *)0x0);\n                    }\n                    else {\n                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6628);\n                      if (iVar19 == 0) {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (*(int *)(pcVar39 + 0x177c0) + -0x6620);\n                        if (iVar19 != 0) {\n                          lVar42 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                          *(longlong *)(*(int *)(pcVar39 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar39 + 0x1787c))(*(int *)(pcVar39 + 0x177c0) + -0x661c);\n                            uVar16 = 1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x5680);\n                        if (iVar19 == 0) {\n                          iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                          *(bool *)(iVar36 + -0x4e77) = iVar19 != 0;\n                          *(bool *)(iVar17 + -0x4e57) = iVar19 != 0;\n                        }\n                        else {\n                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x6d54);\n                          if (iVar19 == 0) {\n                            iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            *(byte *)(iVar36 + -0x4e71) = (byte)iVar19 & 1;\n                            *(byte *)(iVar17 + -0x4e51) = (byte)((uint)(iVar19 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f8);\n                            if (iVar19 == 0) {\n                              iStack_1110 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                            }\n                            else {\n                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar39 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar19 == 0) {\n                                if (a_Stack_102c[0] != false) {\n                                  (**(code **)(pcVar39 + 0x1787c))\n                                            (*(int *)(pcVar39 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                  uVar16 = 1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar39 + 0x1782c))(a_Stack_102c);\n                              }\n                              else {\n                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar39 + 0x177c0) + -0x65d4);\n                                if (iVar19 == 0) {\n                                  iVar19 = process_flags(pcVar21,(flags_t *)(iVar17 + -0x4e58));\n                                  if (iVar19 != 0) {\n                                    (**(code **)(pcVar39 + 0x1787c))\n                                              (*(int *)(pcVar39 + 0x177c0) + -0x65cc);\n                                    uVar16 = 1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar39 + 0x177c0) + -0x65a8);\n                                  if (iVar19 == 0) {\n                                    iStack_110c = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                  }\n                                  else {\n                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar39 + 0x177c0) + -0x65a4);\n                                    if (iVar19 == 0) {\n                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                      *(bool *)(iVar17 + -0x4e56) = iVar19 != 0;\n                                      *(bool *)(iVar36 + -0x4e76) = iVar19 != 0;\n                                    }\n                                    else {\n                                      iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar39 + 0x177c0) + -0x659c);\n                                      if (iVar19 == 0) {\n                                        if (a_Stack_e2c[0] != false) {\n                                          (**(code **)(pcVar39 + 0x1787c))\n                                                    (*(int *)(pcVar39 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                          uVar16 = 0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar39 + 0x1782c))(a_Stack_e2c);\n                                      }\n                                      else {\n                                        iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar39 + 0x177c0) + -0x657c);\n                                        if (iVar19 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar39 + 0x1787c))\n                                                      (*(int *)(pcVar39 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar39 + 0x177c0),0x1ff);\n                                            uVar16 = 0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar39 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar39 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar19 == 0) {\n                                            iVar19 = process_flags(pcVar21,(flags_t *)\n                                                                           (iVar36 + -0x4e78));\n                                            if (iVar19 != 0) {\n                                              (**(code **)(pcVar39 + 0x1787c))\n                                                        (*(int *)(pcVar39 + 0x177c0) + -0x6554);\n                                              uVar16 = 1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar39 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar19 == 0) {\n                                              iVar19 = (**(code **)(pcVar39 + 0x1780c))(pcVar21);\n                                              *(int *)(iVar17 + -0x4e3c) = iVar19;\n                                              *(int *)(iVar36 + -0x4e5c) = iVar19;\n                                              if (iVar19 == -1) {\n                                                (**(code **)(pcVar39 + 0x1787c))\n                                                          (*(int *)(pcVar39 + 0x177c0) + -0x6528);\n                                                uVar16 = 1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar39 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar19 == 0) {\n                                                lVar43 = (**(code **)(pcVar39 + 0x17828))(pcVar21);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar39 + 0x1787c))\n                                                            (*(int *)(pcVar39 + 0x177c0) + -0x64fc);\n                                                  uVar16 = 1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar39 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar19 == 0) {\n                                                  from_block = (**(code **)(pcVar39 + 0x17828))\n                                                                         (pcVar21);\n                                                  if (from_block == -1) {\n                                                    (**(code **)(pcVar39 + 0x1787c))\n                                                              (*(int *)(pcVar39 + 0x177c0) + -0x64d4\n                                                              );\n                                                    uVar16 = 1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar39 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar19 == 0) {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                       (pcVar21);\n                                                    bVar3 = iVar19 != 0;\n                                                  }\n                                                  else {\n                                                    iVar19 = (**(code **)(pcVar39 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar19 == 0) {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x1780c))\n                                                                         (pcVar21);\n                                                      *(bool *)(*(int *)(pcVar39 + 0x177b0) +\n                                                               -0x4e17) = iVar19 != 0;\n                                                    }\n                                                    else {\n                                                      iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar19 == 0) {\n                                                        uVar20 = (**(code **)(pcVar39 + 0x1780c))\n                                                                           (pcVar21);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar39 + 0x177b0) + -0x4e1c) =\n                                                             uVar20;\n                                                      }\n                                                      else {\n                                                        iVar19 = (**(code **)(pcVar39 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar19 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar19 = (**(code **)(pcVar39 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar39 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar23 = *(int *)(pcVar39 + 0x177b0);\n                                                          if (iVar19 != 0) {\n                                                            iVar19 = (**(code **)(pcVar39 + 0x177fc)\n         
(translation_unit "int * FUN_000122a4(int *param_1,undefined1 *param_2)\n\n{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    \n                    \n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    \n                    \n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    \n                    \n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}\n\n" (function_definition "int * FUN_000122a4(int *param_1,undefined1 *param_2)\n\n{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    \n                    \n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    \n                    \n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    \n                    \n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}" primitive_type (pointer_declarator "* FUN_000122a4(int *param_1,undefined1 *param_2)" * (function_declarator "FUN_000122a4(int *param_1,undefined1 *param_2)" identifier (parameter_list "(int *param_1,undefined1 *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    \n                    \n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    \n                    \n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                    
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) })) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , (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 < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression IDENT == LIT)) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ])) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT)) , (comma_expression (assignment_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) )))) + LIT) )))) = IDENT) , (binary_expression IDENT <= IDENT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression * IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (binary_expression IDENT != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (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) )))) + LIT) )))) == IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (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) )))) + LIT) )))) == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression LIT < IDENT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (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 == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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) )))) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT | IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_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 (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) )))) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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) )))) + LIT) )))) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ LIT ]) < LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (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 != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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) )))) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_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 (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) )))) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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) )))) + LIT) )))) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ LIT ]) < LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT - IDENT)) )))) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT - IDENT)) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (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) )))) + LIT) )))) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) & LIT) )) == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (goto_statement goto statement_identifier ;) })) }) (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) , (binary_expression IDENT < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT / IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT % IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) , (binary_expression IDENT < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) )))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) , (binary_expression IDENT < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT / IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (parenthesized_expression ( (binary_expression (binary_expression IDENT / IDENT) >> LIT) ))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT % IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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) )))) + LIT) )))) , (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) )))) + LIT) )))) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT ))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , (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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) + LIT) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )) / IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_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) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_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) )))) + LIT) )))) = (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) )))) + LIT) )))) + LIT)) ;) })) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , LIT , (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )) / IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , LIT , LIT , LIT , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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) )))) + LIT) )))) == LIT) && (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) )))) + LIT) )))) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (return_statement return IDENT ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int * FUN_000122a4(int *param_1,undefined1 *param_2)\n\n{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    \n                    \n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    \n                    \n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    \n                    \n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}" (primitive_type "int") (pointer_declarator "* FUN_000122a4(int *param_1,undefined1 *param_2)" (* "*") (function_declarator "FUN_000122a4(int *param_1,undefined1 *param_2)" (identifier "FUN_000122a4") (parameter_list "(int *param_1,undefined1 *param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  char cVar1;\n  bool bVar2;\n  bool bVar3;\n  bool bVar4;\n  bool bVar5;\n  char cVar6;\n  longlong lVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  int iVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  bool bVar27;\n  uint uVar26;\n  undefined1 *puVar28;\n  int iVar29;\n  uint uVar30;\n  int iVar31;\n  int *unaff_s1;\n  undefined1 *puVar32;\n  int *unaff_s3;\n  char *pcVar33;\n  int iVar34;\n  undefined *unaff_s4;\n  int *unaff_s5;\n  int iVar35;\n  int *unaff_s6;\n  int *unaff_s7;\n  int iVar36;\n  undefined *puVar37;\n  code *pcVar38;\n  int *unaff_s8;\n  undefined4 uVar39;\n  code *pcVar40;\n  char *pcVar41;\n  longlong lVar42;\n  longlong lVar43;\n  longlong lVar44;\n  char **ppcVar45;\n  int iStack_113c;\n  char *pcStack_1138;\n  int iStack_1134;\n  char *pcStack_112c;\n  int iStack_1128;\n  char *pcStack_1124;\n  int iStack_1120;\n  uint uStack_111c;\n  int iStack_1110;\n  int iStack_110c;\n  uint uStack_1108;\n  int iStack_10fc;\n  int iStack_10f4;\n  char cStack_10d5;\n  int iStack_10d4;\n  char *pcStack_10d0;\n  int iStack_10cc;\n  int iStack_10c8;\n  undefined4 uStack_10c4;\n  char *pcStack_10c0;\n  uint uStack_10bc;\n  char *pcStack_10b8;\n  uint uStack_10b4;\n  undefined4 uStack_10b0;\n  undefined4 uStack_10ac;\n  int aiStack_10a4 [2];\n  undefined1 uStack_109c;\n  undefined1 uStack_109b;\n  undefined1 auStack_109a [2];\n  int iStack_1098;\n  int iStack_1094;\n  undefined1 *puStack_1090;\n  char *pcStack_108c;\n  undefined4 uStack_1088;\n  undefined4 uStack_1084;\n  undefined4 uStack_1080;\n  undefined4 uStack_106c;\n  undefined1 uStack_1064;\n  byte bStack_1063;\n  undefined1 auStack_105c [9];\n  undefined1 auStack_1053 [17];\n  undefined1 auStack_1042 [6];\n  undefined1 auStack_103c [16];\n  char acStack_102c [512];\n  char acStack_e2c [512];\n  char acStack_c2c [512];\n  char acStack_a2c [255];\n  undefined1 uStack_92d;\n  char cStack_72c;\n  char acStack_72b [1022];\n  undefined1 uStack_32d;\n  int iStack_32c;\n  int *piStack_328;\n  undefined1 *puStack_324;\n  undefined4 uStack_320;\n  undefined1 *puStack_31c;\n  int *piStack_318;\n  uint uStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  uint uStack_308;\n  code *pcStack_304;\n  undefined1 *puStack_2f0;\n  undefined4 uStack_2ec;\n  undefined1 *puStack_2e8;\n  uint uStack_2e4;\n  uint uStack_2e0;\n  undefined4 *puStack_2dc;\n  code *pcStack_2d8;\n  int *piStack_2d0;\n  code *pcStack_2cc;\n  int iStack_2c8;\n  undefined1 *puStack_2c4;\n  int *piStack_2c0;\n  int iStack_2bc;\n  int iStack_2b8;\n  int iStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  int iStack_2a8;\n  undefined4 uStack_298;\n  undefined4 uStack_294;\n  int iStack_28c;\n  int *piStack_288;\n  int *piStack_284;\n  undefined1 *puStack_280;\n  int *piStack_27c;\n  undefined *puStack_278;\n  undefined1 *puStack_270;\n  int *piStack_26c;\n  int iStack_268;\n  code *pcStack_264;\n  int iStack_260;\n  int *piStack_258;\n  undefined1 *local_250;\n  undefined4 local_24c;\n  undefined1 *local_248;\n  uint local_244;\n  uint local_240;\n  int *piStack_23c;\n  undefined *local_238;\n  int *local_22c;\n  int local_21c [2];\n  undefined1 local_214;\n  undefined1 local_213;\n  undefined1 auStack_212 [2];\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  undefined4 local_200;\n  undefined4 local_1fc;\n  byte local_1ed;\n  int *local_1e4;\n  undefined1 local_1dc [16];\n  undefined1 auStack_1cc [64];\n  int local_18c;\n  int *local_188;\n  int *local_184;\n  undefined1 *local_180;\n  int *local_17c;\n  undefined *local_178;\n  int *local_174;\n  int *local_170;\n  int *local_16c;\n  int *local_168;\n  undefined4 local_164;\n  undefined1 *local_158;\n  undefined4 local_14c;\n  int local_148;\n  int *local_144;\n  int *local_140;\n  int *local_13c;\n  int local_12c [63];\n  undefined1 local_2d;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_0002b138;\n  puVar28 = (undefined1 *)0x100;\n  (*(code *)PTR_strncpy_0002b0d4)(local_12c);\n  local_2d = 0;\n  piVar14 = local_12c;\n  if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }\nLAB_0001260c:\n  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {\n    return piVar8;\n  }\n  uVar39 = 0x12658;\n  iVar11 = local_2c;\n  puVar37 = PTR___stack_chk_fail_0002b128;\n  (*(code *)PTR___stack_chk_fail_0002b128)();\n  local_238 = puVar37 + 0x209d8;\n  piVar9 = (int *)&_gp_1;\n  local_22c = local_13c;\n  local_18c = **(int **)(puVar37 + 0x18ae0);\n  local_240 = (uint)(byte)*local_144;\n  local_244 = (uint)*(byte *)((int)local_144 + 7);\n  local_248 = (undefined1 *)0x0;\n  local_250 = &_gp_1;\n  local_24c = local_14c;\n  piVar8 = (int *)local_144[3];\n  local_188 = piVar14;\n  local_184 = unaff_s1;\n  local_180 = param_2;\n  local_17c = unaff_s3;\n  local_178 = unaff_s4;\n  local_174 = unaff_s5;\n  local_170 = unaff_s6;\n  local_16c = unaff_s7;\n  local_168 = unaff_s8;\n  local_164 = uVar39;\n  local_158 = puVar28;\n  iVar12 = FUN_00011dd4(local_1dc);\n  if (iVar12 == 0) {\n    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);\n    local_21c[0] = 0x53;\n    local_214 = (undefined1)local_144[3];\n    local_208 = local_1dc;\n    local_21c[1] = 0xfffffffd;\n    local_210 = (int)local_158 * local_148;\n    local_213 = 0x40;\n    local_204 = auStack_1cc;\n    local_200 = 60000;\n    if (local_140 == (int *)0x0) {\nLAB_00012788:\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n    }\n    else {\n      iVar13 = *(int *)(local_238 + -0x7fd8);\n      if (*(char *)local_140 != '\0') {\n        local_1fc = 1;\n        goto LAB_00012788;\n      }\n    }\n    local_20c = param_1;\n    if (2 < *(int *)(iVar13 + -0x4e1c)) {\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);\n      puVar28 = local_1dc;\n      if (0 < local_144[3]) {\n        iVar35 = *(int *)(local_238 + -0x7fc8);\n        iVar13 = 0;\n        do {\n          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);\n          iVar13 = iVar13 + 1;\n          puVar28 = puVar28 + 1;\n        } while (iVar13 < local_144[3]);\n      }\n      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);\n    }\n    param_1 = local_21c;\n    param_2 = (undefined1 *)0x4;\n    unaff_s4 = (undefined *)0xb;\n    do {\n      piVar14 = param_1;\n      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);\n      if (-1 < iVar13) {\n        piVar8 = local_1e4;\n        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);\n          piVar8 = local_1e4;\n        }\n        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);\n        param_2 = local_204;\n        param_1 = (int *)(uint)local_1ed;\n        if (piVar10 < (int *)0x16) {\n                    \n                    \n          piVar14 = (int *)(*(code *)(local_238 +\n                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +\n                                             (int)piVar10 * 4)))();\n          return piVar14;\n        }\n        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;\n        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {\n          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);\n          piVar8 = local_21c;\n          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);\n        }\n        goto LAB_0001282c;\n      }\n      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();\n      iVar13 = *piVar14;\n    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));\n    if (iVar13 == 0xc) {\n      piVar10 = (int *)&SUB_fffffffe;\n      piVar14 = param_1;\n    }\n    else {\n      piVar14 = param_1;\n      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);\n      piVar10 = (int *)0xffffffff;\n    }\n  }\n  else {\n    local_250 = local_158;\n    piVar14 = piVar9;\n    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);\n    piVar10 = (int *)0x1;\n  }\nLAB_0001282c:\n  if (local_18c == **(int **)(local_238 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(local_238 + -0x7f08);\n  pcVar40 = FUN_00012d68;\n  iVar11 = local_18c;\n  (*pcVar38)();\n  uVar16 = local_240;\n  uVar20 = local_244;\n  puVar32 = local_248;\n  puVar28 = local_250;\n  pcStack_2d8 = pcVar38 + 0x202c8;\n  piStack_26c = local_140;\n  puStack_270 = &_gp_1;\n  piStack_27c = local_144;\n  piStack_2c0 = piStack_23c;\n  iStack_28c = **(int **)(pcVar38 + 0x183d0);\n  iVar13 = *(int *)(local_244 + 0x1c);\n  piStack_2d0 = piVar8;\n  piStack_288 = piVar10;\n  piStack_284 = param_1;\n  puStack_280 = param_2;\n  puStack_278 = unaff_s4;\n  iStack_268 = iVar12;\n  pcStack_264 = pcVar40;\n  iStack_260 = iVar11;\n  piStack_258 = piVar14;\n  if ((int)piVar14 < 1) {\n    iStack_2c8 = 0;\n  }\n  else {\n    puStack_2c4 = local_248;\n    iStack_2b4 = (int)local_248 << 1;\n    iStack_2c8 = 0;\n    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);\n    iStack_2bc = *(int *)(pcVar38 + 0x18300);\n    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);\n    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;\n    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;\n    iStack_2ac = iStack_2b4;\n    do {\n      uStack_294 = 0;\n      uStack_298 = 0;\n      puStack_2dc = &uStack_298;\n      uStack_2e0 = uVar16;\n      uStack_2e4 = uVar20;\n      puStack_2e8 = puVar32;\n      puStack_2f0 = puVar28;\n      uStack_2ec = local_24c;\n      piVar8 = piStack_2d0;\n      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);\n      if ((int)piVar10 + 2U < 0x15) {\n                    \n                    \n        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();\n        return piVar14;\n      }\n      iStack_2a8 = 0;\n      if (iVar13 < 1) {\n        if (*(int *)(uVar20 + 0x10) == 0) {\n          if (piVar10 == (int *)0x0) {\n            piVar10 = (int *)0xffffffff;\n          }\n        }\n        else {\n          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);\n          piVar8 = (int *)0x0;\n          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);\n          puStack_2f0 = puVar32;\n          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);\n          if (1 < (int)piVar14) {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);\n          }\n          if (piStack_2c0 != (int *)0x0) {\n            piVar14 = (int *)((int)piVar14 + iStack_2c8);\n            *piStack_2c0 = (int)piVar14;\n          }\n          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);\n          if ((iVar11 < 1) ||\n             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {\n            if (iStack_2a8 != 0) {\n              piVar10 = (int *)0x0;\n            }\n          }\n          else {\n            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);\n          }\n        }\n        goto LAB_00013850;\n      }\n      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);\n      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =\n           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;\n      iVar13 = iVar13 + -1;\n      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {\n        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =\n             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;\n      }\n      piVar14 = (int *)((int)piStack_258 - iStack_2c8);\n      piVar10 = piVar14;\n    } while (0 < (int)piVar14);\n  }\n  piVar14 = piVar10;\n  if (piStack_2c0 == (int *)0x0) {\n    piVar10 = (int *)0x0;\n  }\n  else {\n    *piStack_2c0 = iStack_2c8;\n    piVar10 = (int *)0x0;\n  }\nLAB_00013850:\n  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {\n    return piVar10;\n  }\n  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);\n  pcVar40 = main;\n  iVar11 = iStack_28c;\n  (*pcVar38)();\n  pcStack_304 = pcVar40;\n  uStack_308 = uVar16;\n  iStack_30c = iVar13;\n  piStack_310 = piVar9;\n  uStack_314 = uVar20;\n  piStack_318 = piVar10;\n  puStack_31c = puVar28;\n  uStack_320 = local_24c;\n  puStack_324 = puVar32;\n  piStack_328 = piVar14;\n  iStack_32c = **(int **)(pcVar38 + 0x17890);\n  uStack_10bc = 0xffffffff;\n  pcStack_10c0 = (char *)0xffffffff;\n  uStack_10b4 = 0xffffffff;\n  pcStack_10b8 = (char *)0xffffffff;\n  acStack_102c[0] = '\0';\n  acStack_e2c[0] = '\0';\n  acStack_c2c[0] = '\0';\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;\n  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;\n  if (1 < iVar11) {\n    lVar44 = 0;\n    iStack_110c = 0;\n    iStack_1110 = 0;\n    pcStack_112c = (char *)0x80;\n    iVar12 = 1;\n    bVar27 = false;\n    bVar3 = false;\n    bVar2 = false;\n    bVar4 = false;\n    bVar5 = false;\n    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);\n    iVar13 = *(int *)(pcVar38 + 0x177b0);\n    iVar35 = *(int *)(pcVar38 + 0x177b0);\n    lVar43 = 0;\nLAB_000139c0:\n    piVar8 = piVar8 + 1;\n    if (*piVar8 != 0) {\n      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);\n      uStack_32d = 0;\n      if (cStack_72c == '\0') {\n        pcVar33 = &cStack_72c;\n      }\n      else {\n        pcVar33 = &cStack_72c;\n        if (cStack_72c != '=') {\n          pcVar25 = acStack_72b;\n          do {\n            pcVar33 = pcVar25;\n            if (*pcVar33 == '\0') goto LAB_00013a20;\n            pcVar25 = pcVar33 + 1;\n          } while (*pcVar33 != '=');\n        }\n        *pcVar33 = '\0';\n        pcVar33 = pcVar33 + 1;\n      }\nLAB_00013a20:\n      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)\n      ;\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;\n        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;\n      }\n      else {\n        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)\n        ;\n        if (iVar15 == 0) {\n          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;\n          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;\n        }\n        else {\n          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);\n          if (iVar15 == 0) {\n            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);\n            if (pcStack_112c == (char *)0xffffffff) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);\n              piVar14 = (int *)0x1;\n              goto LAB_000147ec;\n            }\n            bVar5 = true;\n          }\n          else {\n            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);\n            if (iVar15 == 0) {\n              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;\n              bVar5 = true;\n            }\n            else {\n              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);\n              if (iVar15 == 0) {\n                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;\n                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;\n                bVar4 = true;\n              }\n              else {\n                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);\n                if (iVar15 == 0) {\n                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;\n                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;\n                }\n                else {\n                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);\n                  if (iVar15 == 0) {\n                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;\n                    if (iVar15 == -1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);\n                      piVar14 = (int *)0x1;\n                      goto LAB_000147ec;\n                    }\n                  }\n                  else {\n                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);\n                    if (iVar15 == 0) {\n                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);\n                      uStack_92d = 0;\n                      if (acStack_a2c[0] == '\0') {\n                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);\n                        iVar11 = *(int *)(pcVar38 + 0x177c0);\nLAB_00013d7c:\n                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);\n                        piVar14 = (int *)0x1;\n                        goto LAB_000147ec;\n                      }\n                      iVar15 = *(int *)(pcVar38 + 0x177c0);\n                      pcVar33 = acStack_a2c;\n                      do {\n                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);\n                        pcVar25 = pcVar41;\n                        if (pcVar41 != (char *)0x0) {\n                          pcVar25 = pcVar41 + 1;\n                          *pcVar41 = '\0';\n                        }\n                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                        if (iVar18 == 0) {\n                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;\n                        }\n                        else {\n                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);\n                          if ((iVar18 != 0) &&\n                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {\n                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                            if (iVar18 == 0) {\n                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;\n                            }\n                            else {\n                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);\n                              if (iVar18 != 0) {\n                                (**(code **)(pcVar38 + 0x1787c))\n                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);\n                                iVar11 = *(int *)(pcVar38 + 0x177c0);\n                                goto LAB_00013d7c;\n                              }\n                            }\n                          }\n                        }\n                        pcVar33 = pcVar25;\n                      } while (pcVar25 != (char *)0x0);\n                    }\n                    else {\n                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);\n                      if (iVar15 == 0) {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);\n                        if (iVar15 != 0) {\n                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;\n                          if (lVar42 == -1) {\n                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);\n                            piVar14 = (int *)0x1;\n                            goto LAB_000147ec;\n                          }\n                        }\n                      }\n                      else {\n                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);\n                        if (iVar15 == 0) {\n                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;\n                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;\n                        }\n                        else {\n                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);\n                          if (iVar15 == 0) {\n                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;\n                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);\n                          }\n                          else {\n                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);\n                            if (iVar15 == 0) {\n                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                            }\n                            else {\n                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)\n                              ;\n                              if (iVar15 == 0) {\n                                if (acStack_102c[0] != '\0') {\n                                  (**(code **)(pcVar38 + 0x1787c))\n                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,\n                                             *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                  piVar14 = (int *)0x1;\n                                  goto LAB_000147ec;\n                                }\n                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);\n                              }\n                              else {\n                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                   (&cStack_72c,\n                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);\n                                if (iVar15 == 0) {\n                                  iVar15 = FUN_000122a4(pcVar33);\n                                  if (iVar15 != 0) {\n                                    (**(code **)(pcVar38 + 0x1787c))\n                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);\n                                    piVar14 = (int *)0x1;\n                                    goto LAB_000147ec;\n                                  }\n                                }\n                                else {\n                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                     (&cStack_72c,\n                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);\n                                  if (iVar15 == 0) {\n                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                  }\n                                  else {\n                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                       (&cStack_72c,\n                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);\n                                    if (iVar15 == 0) {\n                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;\n                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;\n                                    }\n                                    else {\n                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                         (&cStack_72c,\n                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);\n                                      if (iVar15 == 0) {\n                                        if (acStack_e2c[0] != '\0') {\n                                          (**(code **)(pcVar38 + 0x1787c))\n                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,\n                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                          piVar14 = (int *)0x1f;\n                                          goto LAB_000147ec;\n                                        }\n                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);\n                                      }\n                                      else {\n                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                           (&cStack_72c,\n                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);\n                                        if (iVar15 == 0) {\n                                          if (acStack_c2c[0] != '\0') {\n                                            (**(code **)(pcVar38 + 0x1787c))\n                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,\n                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);\n                                            piVar14 = (int *)0x1f;\n                                            goto LAB_000147ec;\n                                          }\n                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);\n                                        }\n                                        else {\n                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                             (&cStack_72c,\n                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)\n                                          ;\n                                          if (iVar15 == 0) {\n                                            iVar15 = FUN_000122a4(pcVar33);\n                                            if (iVar15 != 0) {\n                                              (**(code **)(pcVar38 + 0x1787c))\n                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);\n                                              piVar14 = (int *)0x1;\n                                              goto LAB_000147ec;\n                                            }\n                                          }\n                                          else {\n                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                               (&cStack_72c,\n                                                                *(int *)(pcVar38 + 0x177c0) +\n                                                                -0x6530);\n                                            if (iVar15 == 0) {\n                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);\n                                              *(int *)(iVar13 + -0x4e3c) = iVar15;\n                                              *(int *)(iVar35 + -0x4e5c) = iVar15;\n                                              if (iVar15 == -1) {\n                                                (**(code **)(pcVar38 + 0x1787c))\n                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);\n                                                piVar14 = (int *)0x1;\n                                                goto LAB_000147ec;\n                                              }\n                                            }\n                                            else {\n                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                 (&cStack_72c,\n                                                                  *(int *)(pcVar38 + 0x177c0) +\n                                                                  -0x6504);\n                                              if (iVar15 == 0) {\n                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);\n                                                if (lVar43 == -1) {\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                }\n                                              }\n                                              else {\n                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                   (&cStack_72c,\n                                                                    *(int *)(pcVar38 + 0x177c0) +\n                                                                    -0x64dc);\n                                                if (iVar15 == 0) {\n                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)\n                                                  ;\n                                                  if (lVar44 == -1) {\n                                                    (**(code **)(pcVar38 + 0x1787c))\n                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4\n                                                              );\n                                                    piVar14 = (int *)0x1;\n                                                    goto LAB_000147ec;\n                                                  }\n                                                }\n                                                else {\n                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                     (&cStack_72c,\n                                                                      *(int *)(pcVar38 + 0x177c0) +\n                                                                      -0x6630);\n                                                  if (iVar15 == 0) {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                       (pcVar33);\n                                                    bVar2 = iVar15 != 0;\n                                                  }\n                                                  else {\n                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))\n                                                                       (&cStack_72c);\n                                                    if (iVar15 == 0) {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))\n                                                                         (pcVar33);\n                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e17) = iVar15 != 0;\n                                                    }\n                                                    else {\n                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                         (&cStack_72c);\n                                                      if (iVar15 == 0) {\n                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))\n                                                                           (pcVar33);\n                                                        *(undefined4 *)\n                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                             uVar39;\n                                                      }\n                                                      else {\n                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))\n                                                                           (&cStack_72c);\n                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||\n                                                           (acStack_72b[0] == '-')) {\n                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))\n                                                                             (&cStack_72c,\n                                                                              *(int *)(pcVar38 +\n                                                                                      0x177c0) +\n                                                                              -0x6470,9);\n                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                          if (iVar15 != 0) {\n                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)\n                                                                     )(&cStack_72c,\n                                                                       *(int *)(pcVar38 + 0x177c0) +\n                                                                       -0x6464,9);\n                                                            if (iVar15 != 0) {\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x6458,6);\n                                                              if ((iVar15 == 0) ||\n                                                                 (iVar15 = (**(code **)(pcVar38 +\n                                                                                       0x178a8))\n                                                                                     (&cStack_72c),\n                                                                 iVar15 == 0)) {\n                                                                FUN_00010fdc();\n                                                                piVar14 = (int *)0x0;\n                                                                goto LAB_000147ec;\n                                                              }\n                                                              iVar15 = (**(code **)(pcVar38 +\n                                                                                   0x177fc))\n                                                                                 (&cStack_72c,\n                                                                                  *(int *)(pcVar38 +\n                                                                                          0x177c0) +\n                                                                                  -0x644c,6);\n                                                              if (iVar15 != 0) {\n                                                                iVar15 = (**(code **)(pcVar38 +\n                                                                                     0x177fc))\n                                                                                   (&cStack_72c,\n                                                                                    *(int *)(pcVar38\n                                                                                            + \n                                                  0x177c0) + -0x6444,6);\n                                                  if (iVar15 == 0) {\n                                                    bVar27 = true;\n                                                    goto LAB_000139b8;\n                                                  }\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);\n                                                  (**(code **)(pcVar38 + 0x1787c))\n                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);\n                                                  piVar14 = (int *)0x1;\n                                                  goto LAB_000147ec;\n                                                  }\n                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =\n                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                               -0x4e1c) + 1;\n                                                  bVar3 = true;\n                                                  goto LAB_000139b8;\n                                                  }\n                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);\n                                                  }\n                                                  *(int *)(iVar18 + -0x4e14) =\n                                                       *(int *)(iVar18 + -0x4e14) + 1;\n                                                  }\n                                                  else {\n                                                    iVar15 = iVar15 + -1;\n                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e14) + iVar18;\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);\n                                                    if (0 < iVar19) {\n                                                      FUN_00010fdc();\n                                                      piVar14 = (int *)0x0;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);\n                                                    if (0 < iVar19) {\n                                                      bVar3 = true;\n                                                    }\n                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)\n                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +\n                                                                   -0x4e1c) + iVar19;\n                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);\n                                                    if (0 < iVar31) {\n                                                      bVar27 = true;\n                                                    }\n                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {\n                                                      (**(code **)(pcVar38 + 0x1787c))\n                                                                (*(int *)(pcVar38 + 0x177c0) +\n                                                                 -0x64a4);\n                                                      piVar14 = (int *)0x1;\n                                                      goto LAB_000147ec;\n                                                    }\n                                                  }\n                                                  }\n                                                  }\n                                                  }\n                                                }\n                                              }\n                                            }\n                                          }\n                                        }\n                                      }\n                                    }\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\nLAB_000139b8:\n    iVar12 = iVar12 + 1;\n    if (iVar11 == iVar12) goto LAB_000146c0;\n    goto LAB_000139c0;\n  }\n  if (iVar11 < 2) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n    piVar14 = (int *)0x1f;\n    goto LAB_000147ec;\n  }\n  lVar43 = 0;\n  pcStack_112c = (char *)0x80;\n  bVar4 = false;\n  iStack_110c = 0;\n  lVar44 = 0;\n  iStack_1110 = 0;\n  bVar2 = false;\n  bVar5 = false;\nLAB_00017904:\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\nLAB_00017908:\n  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n  iStack_1120 = (int)lVar44;\n  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n  uVar20 = (uint)lVar43;\n  if (*(int *)(iVar11 + -20000) < 1) {\n    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);\n  }\n  if ((iStack_1110 == 0) ||\n     (iVar11 = *(int *)(pcVar38 + 0x177c0),\n     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {\n    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {\n      if ((lVar44 < 0) || (lVar43 < 0)) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&\n         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||\n          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))\n      {\n        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);\n        piVar14 = (int *)0x1f;\n        goto LAB_000147ec;\n      }\n      if ((int)pcStack_112c < 1) {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);\n        piVar14 = (int *)0x1;\n        goto LAB_000147ec;\n      }\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      iVar12 = *(int *)(pcVar38 + 0x177bc);\n      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {\n        pcStack_112c = (char *)0x20;\n      }\n      FUN_00011670(2,iVar12 + 0x1730);\n      FUN_00011670(3,iVar12 + 0x1730);\n      FUN_00011670(0xd,iVar12 + 0x1730);\n      FUN_00011670(0x10);\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;\n      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;\n      if (acStack_102c[0] == '\0') {\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\n      else {\n        if (acStack_102c[0] != '-') {\n          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_1108 = FUN_00011a10(acStack_102c);\n          if (iVar11 != 0) {\n            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);\n          }\n          if ((uStack_1108 & 0x80) == 0) {\n            if (((uStack_1108 & 0x20) == 0) ||\n               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {\n              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;\n              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;\n              uVar16 = 0;\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {\n                uVar16 = 0x8000;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                uVar16 = uVar16 | 0x400;\n              }\n              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                uVar16 = uVar16 | 0x4010;\n              }\n              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);\n              if (iStack_1134 < 0) {\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,\n                           acStack_102c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iStack_1134 = -0xf;\n                goto LAB_00014b8c;\n              }\n              if (iVar11 != 0) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);\n              }\n              if (lVar44 < 0x100000000) {\n                if (iStack_1128 == 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                  if (iStack_1120 != 0) goto LAB_00014de0;\n                }\n                else {\nLAB_00014a24:\n                  iVar12 = *(int *)(pcVar38 + 0x177b0);\n                }\n              }\n              else {\nLAB_00014de0:\n                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);\n                if (iVar12 < 0) {\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,\n                             acStack_102c);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  iStack_1134 = -0xf;\n                  goto LAB_00014b8c;\n                }\n                if (iVar11 == 0) goto LAB_00014a24;\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);\n                iVar12 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(int *)(iVar12 + -0x4e44) == 0) ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);\n                iVar11 = *(int *)(pcVar38 + 0x177b0);\n              }\n              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||\n                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))\n              goto LAB_00014f44;\nLAB_00014a68:\n              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,\n                         acStack_102c);\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iStack_1134 = -0x5a;\n            }\n            else {\n              uVar16 = uStack_1108 & 0x10;\n              uStack_1108 = uStack_1108 | 2;\n              if (uVar16 == 0) {\nLAB_00014ad0:\n                uVar16 = 0x8080;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {\n                  uVar16 = 0x80;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                uVar26 = uVar16 | 2;\n                uVar30 = uVar16;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {\n                  uVar30 = uVar16 | 0x4010;\n                  uVar26 = uVar16 | 0x4012;\n                }\n                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);\n                if (iStack_1134 < 0) {\n                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);\n                  uVar16 = 0;\n                  if (iStack_1134 < 0) {\n                    (**(code **)(pcVar38 + 0x178b4))\n                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,\n                               acStack_102c);\n                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  uVar16 = 2;\n                }\n                if (iVar11 == 0) {\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);\n                  if (iVar11 != 0) {\nLAB_00014c94:\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                    iStack_1134 = -99;\n                    goto LAB_00014b8c;\n                  }\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                }\n                else {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);\n                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);\n                  if (iVar11 != 0) goto LAB_00014c94;\n                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,\n                             auStack_1053,auStack_1042,(uint)bStack_1063);\n                }\n                if ((uStack_1108 & 0x20) == 0) {\n                  aiStack_10a4[0] =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);\n                  if (iVar11 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n                  }\n                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);\n                  if ((iVar11 < 0) ||\n                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                    iStack_1134 = -0xf;\n                    goto LAB_00014b8c;\n                  }\n                }\n                else {\n                  iVar11 = *(int *)(pcVar38 + 0x177b0);\n                }\n                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&\n                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))\n                goto LAB_00014a68;\n                if (-1 < iStack_1134) goto LAB_00014f44;\n              }\n              else {\nLAB_0001490c:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n                iStack_1134 = -0xf;\n              }\n            }\n          }\n          else {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);\n            iStack_1134 = -0xf;\n          }\nLAB_00014b8c:\n          piVar14 = (int *)-iStack_1134;\n          goto LAB_000147ec;\n        }\n        uStack_1108 = 1;\n        iStack_1134 = 0;\n      }\nLAB_00014f44:\n      iVar11 = 1;\n      if (acStack_e2c[0] == '\0') {\n        uStack_111c = 1;\n      }\n      else {\n        if (acStack_e2c[0] != '-') {\n          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);\n          uStack_111c = FUN_00011a10(acStack_e2c);\n          if (iVar12 != 0) {\n            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);\n          }\n          if (((uStack_111c & 0x20) == 0) ||\n             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {\n            if ((uStack_111c & 0x10) == 0) {\n              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;\n              if ((uStack_111c & 8) != 0) {\n                iVar11 = -1;\n                goto LAB_00015058;\n              }\n              if ((uStack_111c & 4) == 0) {\n                uVar16 = 0x8101;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 0x101;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {\n                  uVar16 = uVar16 | 8;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);\n                if (-1 < iVar11) {\nLAB_00015148:\n                  if (iVar12 != 0) {\n                    if ((uVar16 & 0x100) == 0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;\n                    }\n                    else {\n                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);\n                  }\n                  if (lVar43 < 0x100000000) {\n                    if (pcStack_1138 == (char *)0x0) {\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                      if (uVar20 != 0) goto LAB_00015484;\n                    }\n                    else {\nLAB_00015194:\n                      iVar13 = *(int *)(pcVar38 + 0x177b0);\n                    }\n                  }\n                  else {\nLAB_00015484:\n                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                    if (iVar13 < 0) {\n                      (**(code **)(pcVar38 + 0x178b4))\n                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,\n                                 acStack_e2c);\n                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                      iVar11 = -0xf;\n                      goto LAB_0001557c;\n                    }\n                    if (iVar12 == 0) goto LAB_00015194;\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);\n                    iVar13 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;\n                  goto LAB_00015574;\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              else {\n                uVar16 = 0x8001;\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n                  uVar16 = 1;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n                  uVar16 = uVar16 | 0x400;\n                }\n                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n                  uVar16 = uVar16 | 0x4010;\n                }\n                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);\n                if (-1 < iVar11) goto LAB_00015148;\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,\n                           acStack_e2c);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                iVar11 = -0xf;\n              }\n              goto LAB_0001557c;\n            }\nLAB_000151ac:\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);\n            iVar11 = -0xf;\n          }\n          else {\n            uVar16 = uStack_111c & 0x10;\n            uStack_111c = uStack_111c | 2;\n            if (uVar16 != 0) goto LAB_000151ac;\nLAB_00014fbc:\n            uVar16 = 0x8082;\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {\n              uVar16 = 0x82;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {\n              uVar16 = uVar16 | 0x400;\n            }\n            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {\n              uVar16 = uVar16 | 0x4010;\n            }\n            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);\n            if (iVar11 < 0) {\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0xf;\n              goto LAB_0001557c;\n            }\n            if (iVar12 == 0) {\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);\n              if (iVar12 != 0) {\nLAB_000152b0:\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);\n                iVar11 = -99;\n                goto LAB_0001557c;\n              }\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);\n              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);\n              if (iVar12 != 0) goto LAB_000152b0;\n              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053\n                         ,auStack_1042,(uint)bStack_1063);\n            }\n            if ((uStack_111c & 0x20) == 0) {\n              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);\n              if (iVar12 < 0) {\n                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);\n              }\n              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);\n              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);\n                iVar11 = -0xf;\n                goto LAB_0001557c;\n              }\n            }\n            else {\nLAB_00015058:\n              iVar12 = *(int *)(pcVar38 + 0x177b0);\n            }\n            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;\nLAB_00015558:\n            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);\n            if (iVar12 < 0) {\n              (**(code **)(pcVar38 + 0x177e8))(iVar11);\n              (**(code **)(pcVar38 + 0x178b4))\n                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c\n                        );\n              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n              iVar11 = -0x5a;\n            }\n            else {\nLAB_00015574:\n              if (-2 < iVar11) goto LAB_000155f8;\n            }\n          }\nLAB_0001557c:\n          piVar14 = (int *)-iVar11;\n          goto LAB_000147ec;\n        }\n        uStack_111c = 1;\n      }\nLAB_000155f8:\n      iVar12 = 1;\n      if (acStack_c2c[0] == '\0') {\n        iStack_110c = -1;\n      }\n      else {\n        iVar12 = FUN_00011a10(acStack_c2c);\n        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);\n        if (iStack_110c < 0) {\n          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();\n          piVar14 = (int *)*puVar17;\n          (**(code **)(pcVar38 + 0x178b4))\n                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);\n          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n          goto LAB_000147ec;\n        }\n      }\n      if (iStack_1134 == 0) {\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\nLAB_00015624:\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n      }\n      else {\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;\n        iVar35 = *(int *)(iVar13 + -0x4fe0);\n        if (iVar11 == 1) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);\n          piVar14 = (int *)0x1f;\n          goto LAB_000147ec;\n        }\n      }\n      if (iVar35 < 0) {\nLAB_00015648:\n        uStack_10bc = 0xffffffff;\n        pcStack_10c0 = (char *)0xffffffff;\n        iStack_10cc = -1;\n        if ((uStack_1108 & 2) == 0) {\n          if ((uStack_1108 & 0x20) != 0) {\n            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);\n              uStack_10bc = 0xffffffff;\n              pcStack_10c0 = (char *)0xffffffff;\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;\n            }\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);\n            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);\n          }\n          if (iVar13 == 0) {\n            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_000156b8:\n            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {\n              pcStack_10c0 = pcStack_10c0 +\n                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);\n              uStack_10bc = uStack_10bc - iStack_1120;\n            }\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else if (iVar13 == 2) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10bc = 0xffffffff;\n            pcStack_10c0 = (char *)0xffffffff;\n          }\n        }\nLAB_000156f0:\n        uStack_10b4 = 0xffffffff;\n        pcStack_10b8 = (char *)0xffffffff;\n        iStack_10c8 = -1;\n        if ((uStack_111c & 2) == 0) {\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n          if ((uStack_111c & 0x20) != 0) {\n            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);\n            if (iVar13 == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);\n              uStack_10b4 = 0xffffffff;\n              pcStack_10b8 = (char *)0xffffffff;\n            }\n            goto LAB_00015be0;\n          }\n        }\n        else {\n          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          if (iVar13 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          else if (iVar13 == 0xb) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);\n            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);\n          }\n          if (iVar13 == 0) {\n            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);\n            }\nLAB_00015bb4:\n            if ((int)pcStack_10b8 <= (int)pcStack_1138) {\n              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;\n              if (uStack_10b4 <= uVar20) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00015be4;\n              }\n            }\n            pcStack_10b8 = pcStack_10b8 +\n                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);\n            uStack_10b4 = uStack_10b4 - uVar20;\n          }\n          else {\n            if (iVar13 == 9) {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);\n            }\n            uStack_10b4 = 0xffffffff;\n            pcStack_10b8 = (char *)0xffffffff;\n          }\nLAB_00015be0:\n          iVar13 = *(int *)(pcVar38 + 0x177b0);\n        }\nLAB_00015be4:\n        if (-1 < *(int *)(iVar13 + -0x4fe0)) {\nLAB_00015bf0:\n          iVar15 = *(int *)(pcVar38 + 0x177b0);\n          goto LAB_00015bf4;\n        }\n        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {\n          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;\n            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;\n          }\n          else {\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||\n               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&\n                (uStack_10b4 < uStack_10bc)))) {\n              pcVar33 = pcStack_10b8;\n              uVar20 = uStack_10b4;\n            }\n            *(char **)(iVar13 + -0x4fe0) = pcVar33;\n            *(uint *)(iVar13 + -0x4fdc) = uVar20;\n          }\n          goto LAB_00015bf0;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;\n        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;\n        pcVar33 = pcStack_10b8;\n        uVar20 = uStack_10b4;\n        if ((int)pcStack_10b8 < 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);\n          piVar14 = (int *)0x63;\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;\n        iVar15 = *(int *)(pcVar38 + 0x177b0);\n        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;\nLAB_00015bf4:\n        pcVar33 = *(char **)(iVar15 + -0x4fe0);\n        uVar20 = *(uint *)(iVar15 + -0x4fdc);\n      }\n      if (bVar4) {\nLAB_00015cf0:\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))\n           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);\n          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;\n        }\n        iVar13 = *(int *)(pcVar38 + 0x177b0);\n        if ((uStack_111c & 2) != 0) {\n          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {\n            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&\n               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))\n            goto LAB_00015cf4;\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);\n            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;\n          }\n          goto LAB_00015cf0;\n        }\n      }\nLAB_00015cf4:\n      iVar35 = *(int *)(pcVar38 + 0x177b0);\n      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&\n         (iVar35 = *(int *)(pcVar38 + 0x177b0),\n         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&\n         ((uStack_111c | uStack_1108) & 4) == 0)) {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      else {\n        iStack_113c = (**(code **)(pcVar38 + 0x177f0))\n                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);\n        if (iStack_113c == 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);\n          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);\n          goto LAB_000147ec;\n        }\n      }\n      iVar13 = *(int *)(pcVar38 + 0x177b0);\n      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {\n        *(undefined4 *)(iVar13 + -0x4e30) = 0;\n        *(undefined4 *)(iVar13 + -0x4e2c) = 0;\n        (**(code **)(pcVar38 + 0x17884))();\n        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;\n      }\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {\n        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);\n        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);\n        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {\n          piVar14 = (int *)0x0;\n          iStack_10f4 = 0;\n        }\n        else {\n          iStack_10f4 = 0;\n          pcStack_1124 = (char *)0x0;\n          iVar35 = *(int *)(pcVar38 + 0x177b0);\n          iVar15 = iVar35 + -0x4e58;\n          iVar18 = *(int *)(pcVar38 + 0x177b0);\n          iVar19 = *(int *)(pcVar38 + 0x177c0);\n          cVar6 = '\0';\n          while( true ) {\n            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);\n            uVar39 = (undefined4)lVar43;\n            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);\n            iStack_1120 = (int)lVar44;\n            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||\n               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&\n                (pcVar33 < pcStack_112c)))) {\n              pcVar25 = pcVar33;\n            }\n            if ((uStack_1108 & 2) != 0) break;\n            iVar24 = *(int *)(pcVar38 + 0x177b0);\n            iVar31 = *(int *)(iVar24 + -20000);\n            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))\n                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {\n              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n              iVar31 = *(int *)(iVar24 + -20000);\n              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);\n                }\n                (**(code **)(pcVar38 + 0x178b4))\n                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);\n                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                piVar14 = (int *)0xffffffff;\n                goto LAB_0001628c;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,\n                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n            }\n            iVar24 = *(int *)(iVar31 + -20000);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (iVar13 < iVar24 * (int)pcVar25) {\n              *(undefined4 *)(iVar31 + -0x4fdc) = 0;\n              *(undefined4 *)(iVar31 + -0x4fe0) = 0;\n              if (iVar24 == 0) {\n                trap(7);\n              }\n              pcVar25 = (char *)(iVar13 / iVar24);\n              if (0 < iVar13 % iVar24) {\n                pcVar25 = pcVar25 + 1;\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =\n                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;\n              }\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;\n            *(uint *)(iVar31 + -0x4de0) =\n                 ((int)pcVar25 >> 0x1f) +\n                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);\n            *(char **)(iVar31 + -0x4ddc) = pcVar33;\nLAB_0001775c:\n            if (pcVar25 == (char *)0x0) {\nLAB_00017264:\n              piVar14 = (int *)0x0;\n              goto LAB_0001726c;\n            }\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            if (acStack_c2c[0] == '\0') {\n              iStack_10fc = 0;\nLAB_00017770:\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            else {\n              iVar24 = *(int *)(iVar31 + -20000);\n              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))\n                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),\n                    iStack_10fc < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar24 = *(int *)(iVar31 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),\n                               iStack_10fc);\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;\n              (**(code **)(pcVar38 + 0x1787c))\n                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,\n                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);\n              cVar1 = *(char *)(iVar18 + -0x4e6f);\n            }\n            iVar31 = (int)pcVar25 >> 0x1f;\n            if ((cVar1 == '\0') ||\n               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&\n                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))\n                )))) {\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 8) != 0) {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                goto LAB_00016710;\n              }\nLAB_000175a8:\n              iVar29 = *(int *)(iVar24 + -20000);\n              while (iVar23 = (**(code **)(pcVar38 + 0x17844))\n                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {\n                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                iVar29 = *(int *)(iVar24 + -20000);\n                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)\n                    ;\n                  }\n                  (**(code **)(pcVar38 + 0x178b4))\n                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);\n                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                (**(code **)(pcVar38 + 0x1787c))\n                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,\n                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar29 = *(int *)(pcVar38 + 0x177b0);\n              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);\n                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                if (iVar12 == 0) {\n                  trap(7);\n                }\n                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;\n                *(uint *)(iVar13 + -0x4df0) =\n                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +\n                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));\n                *(uint *)(iVar13 + -0x4dec) = uVar20;\n                if (iVar23 % iVar12 < 1) {\n                  piVar14 = (int *)0xffffffff;\n                }\n                else {\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;\n                  piVar14 = (int *)0xffffffff;\n                }\n                goto LAB_0001628c;\n              }\n              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar29 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +\n                   *(int *)(iVar29 + -0x4df0) + iVar31;\n              *(char **)(iVar29 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              pcStack_1124 = pcVar25;\n            }\n            else if ((uStack_111c & 8) == 0) {\n              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {\n                iVar24 = (**(code **)(pcVar38 + 0x177f0))\n                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,\n                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);\n                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;\n                if (iVar24 == 0) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);\n                  piVar14 = (int *)0xffffffff;\n                  goto LAB_0001628c;\n                }\n              }\n              iVar24 = (**(code **)(pcVar38 + 0x17888))\n                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)\n                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);\n              if (iVar24 == 0) {\n                if ((uStack_111c & 2) == 0) {\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);\n                  }\n                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);\n                  if (iVar24 < 0) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);\n                    piVar14 = (int *)0xf;\n                    goto LAB_0001628c;\n                  }\n                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);\n                    iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  }\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       *(int *)(iVar24 + -0x4e00) +\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                }\n                else {\n                  iVar24 = *(int *)(pcVar38 + 0x177b0);\n                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;\n                  *(uint *)(iVar24 + -0x4e00) =\n                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +\n                       *(int *)(iVar24 + -0x4e00) + iVar31;\n                  *(char **)(iVar24 + -0x4dfc) = pcVar33;\n                  iVar23 = 0;\n                  pcStack_1124 = pcVar25;\n                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))\n                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,\n                               pcVar25);\n                  }\n                }\n              }\n              else {\n                iVar24 = *(int *)(pcVar38 + 0x177b0);\n                if ((uStack_111c & 2) == 0) goto LAB_000175a8;\nLAB_00017554:\n                cStack_10d5 = *(char *)(iVar18 + -0x4e77);\n                iVar34 = *(int *)(iVar18 + -0x4e5c);\n                bVar3 = true;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n                iVar24 = *(int *)(pcVar38 + 0x177bc);\n                iVar23 = *(int *)(pcVar38 + 0x177b0);\n                iVar29 = *(int *)(pcVar38 + 0x177c0);\nLAB_000169f8:\n                iVar36 = *(int *)(iVar31 + -20000);\n                uStack_10ac = 0;\n                uStack_10b0 = 0;\n                pcVar33 = pcStack_1138;\n                iVar22 = (*(code *)(iVar24 + 0x1dd4))\n                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);\n                if (iVar22 == 0) {\n                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);\n                  aiStack_10a4[0] = 0x53;\n                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);\n                  puStack_1090 = auStack_103c;\n                  aiStack_10a4[1] = 0xfffffffe;\n                  iStack_1098 = iVar36 * (int)pcVar25;\n                  iStack_1094 = iStack_113c;\n                  uStack_109b = 0x40;\n                  pcStack_108c = acStack_a2c;\n                  uStack_1088 = 60000;\n                  if (cStack_10d5 != '\0') {\n                    uStack_1084 = 1;\n                  }\n                  uStack_1080 = uVar39;\n                  if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);\n                    puVar28 = auStack_103c;\n                    if (0 < *(int *)(iVar18 + -0x4e6c)) {\n                      iVar22 = 0;\n                      do {\n                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);\n                        iVar22 = iVar22 + 1;\n                        puVar28 = puVar28 + 1;\n                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);\n                  }\n                  do {\n                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);\n                    if (-1 < iVar22) {\n                      if (2 < *(int *)(iVar23 + -0x4e1c)) {\n                        (**(code **)(pcVar38 + 0x1787c))\n                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);\n                      }\n                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);\n                      if (piVar14 < (int *)0x16) {\n                    \n                    \n                        piVar14 = (int *)(*(pcVar38 +\n                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))\n                                                   ();\n                        return piVar14;\n                      }\n                      (**(code **)(pcVar38 + 0x177e0))\n                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,\n                                 1 < *(int *)(iVar23 + -0x4e1c));\n                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;\n                      if (*(int *)(iVar18 + -0x4e68) == 0) {\n                        if (piVar14 == (int *)0x0) goto LAB_00016e38;\n                        goto LAB_00016978;\n                      }\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);\n                      iVar31 = *(int *)(pcVar38 + 0x177b0);\n                      goto LAB_00016e3c;\n                    }\n                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();\n                    iVar22 = *piVar14;\n                  } while ((iVar22 == 4) || (iVar22 == 0xb));\n                  if (iVar22 == 0xc) {\n                    piVar14 = (int *)&SUB_fffffffe;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);\n                    piVar14 = (int *)0xffffffff;\n                  }\n                }\n                else {\n                  pcVar33 = pcVar25;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);\n                  piVar14 = (int *)0x1;\n                }\nLAB_00016978:\n                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;\n                if (piVar14 == (int *)&SUB_fffffffe) {\n                  if (!bVar3) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                    goto LAB_00016ea0;\n                  }\n                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);\n                  if (iVar22 < 0) {\n                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n                    goto LAB_00016fcc;\n                  }\n                  if (iStack_10d4 < 0x2000) {\n                    iStack_10d4 = 0x2000;\n                  }\n                  iVar22 = *(int *)(iVar31 + -20000);\n                  if (iVar22 == 0) {\n                    trap(7);\n                  }\n                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);\n                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);\n                  pcStack_112c = pcVar41;\nLAB_000169f4:\n                  bVar3 = false;\n                  pcVar25 = pcVar41;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0x6) {\n                  if (!bVar3) goto LAB_000169a4;\n                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;\n                  if (iVar22 < 1) {\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);\n                    goto LAB_00016fcc;\n                  }\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);\n                  bVar3 = false;\n                  goto LAB_000169f8;\n                }\n                if (piVar14 == (int *)0xb) {\n                  if (bVar3) {\n                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;\n                    if (iVar22 < 1) {\n                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);\n                      goto LAB_00016fcc;\n                    }\n                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);\n                    bVar3 = false;\n                    goto LAB_000169f8;\n                  }\n                }\n                else if ((int)piVar14 < 0) {\n                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  goto LAB_00016ea0;\n                }\nLAB_000169a4:\n                if (0 < iVar34) {\n                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);\n                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =\n                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;\n                  iVar34 = iVar34 + -1;\n                  pcVar41 = pcVar25;\n                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {\n                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =\n                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;\n                  }\n                  goto LAB_000169f4;\n                }\n                if (piVar14 != (int *)0x0) {\nLAB_00016fcc:\n                  if (piVar14 == (int *)&SUB_fffffffe) {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n                  }\n                  else {\n                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n                  }\nLAB_00016ea0:\n                  (**(code **)(pcVar38 + 0x1787c))\n                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,\n                             pcVar33);\n                  goto LAB_0001628c;\n                }\nLAB_00016e38:\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\nLAB_00016e3c:\n                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;\n                *(uint *)(iVar31 + -0x4df0) =\n                     ((int)pcVar25 >> 0x1f) +\n                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);\n                *(char **)(iVar31 + -0x4dec) = pcVar33;\n                pcStack_1124 = pcVar25;\n                if (*(char *)(iVar18 + -0x4e77) == '\0') {\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else if (cStack_10d5 == '\0') {\n                  iStack_10f4 = iStack_10f4 + 1;\n                  iVar23 = 0;\n                  cVar1 = '\0';\n                }\n                else {\n                  cVar1 = '\0';\n                  iVar23 = 0;\n                }\n              }\n            }\n            else {\n              iVar24 = *(int *)(pcVar38 + 0x177b0);\n              if ((uStack_111c & 2) != 0) goto LAB_00017554;\nLAB_00016710:\n              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;\n              *(uint *)(iVar24 + -0x4df0) =\n                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +\n                   *(int *)(iVar24 + -0x4df0) + iVar31;\n              *(char **)(iVar24 + -0x4dec) = pcVar33;\n              cVar1 = '\0';\n              iVar23 = 0;\n              pcStack_1124 = pcVar25;\n            }\n            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||\n               (uStack_1108 != 1 && uStack_1108 != 0x20)) {\nLAB_00016760:\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              iVar13 = (**(code **)(pcVar38 + 0x17800))\n                                 (iStack_1134,iStack_1120,0,0,\n                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +\n                                  (longlong)iVar13,4);\n              if (iVar13 == 0) goto LAB_00016760;\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||\n               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            else {\n              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);\n              uVar20 = *(uint *)(iVar18 + -0x4e64);\n            }\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            if (((uVar20 & 1) != 0) && (0 < iVar23)) {\n              if ((uStack_111c == 1 || uStack_111c == 0x20) &&\n                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n              else {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n              }\n            }\n            iVar31 = *(int *)(iVar13 + -0x4fe0);\n            pcVar25 = *(char **)(iVar13 + -0x4fdc);\n            if (iVar31 < 1) {\n              piVar14 = (int *)0x0;\n              if (iVar31 != 0) goto LAB_0001726c;\n              if (pcVar25 == (char *)0x0) goto LAB_00017264;\n            }\n            pcVar33 = pcVar25 + -(int)pcStack_1124;\n            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);\n            iVar31 = *(int *)(pcVar38 + 0x177b0);\n            *(int *)(iVar31 + -0x4fe0) = iVar13;\n            *(char **)(iVar31 + -0x4fdc) = pcVar33;\n            lVar42 = lVar44 + (int)pcStack_1124;\n            lVar7 = lVar43 + (int)pcStack_1124;\n            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))\n            goto LAB_0001726c;\n            cVar6 = cVar1;\n            lVar44 = lVar44 + (int)pcStack_1124;\n            lVar43 = lVar43 + (int)pcStack_1124;\n            if (cVar1 == '\0') {\n              pcStack_1124 = (char *)0x0;\n              lVar44 = lVar42;\n              lVar43 = lVar7;\n            }\n          }\n          cStack_10d5 = *(char *)(iVar35 + -0x4e57);\n          ppcVar45 = &pcStack_10d0;\n          pcVar41 = &cStack_10d5;\n          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n          iVar13 = iVar15;\n          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15\n                                        ,pcVar41,ppcVar45);\n          pcVar33 = pcVar25;\n          if (piVar14 == (int *)&SUB_fffffffe) {\n            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);\n            if (-1 < iVar31) {\n              iVar31 = *(int *)(pcVar38 + 0x177b0);\n              if (iStack_10d4 < 0x2000) {\n                iStack_10d4 = 0x2000;\n                iVar31 = *(int *)(pcVar38 + 0x177b0);\n              }\n              iVar31 = *(int *)(iVar31 + -20000);\n              if (iVar31 == 0) {\n                trap(7);\n              }\n              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);\n              if ((int)pcVar33 < (int)pcVar25) {\n                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);\n                ppcVar45 = &pcStack_10d0;\n                pcVar41 = &cStack_10d5;\n                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);\n                iVar13 = iVar15;\n                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);\n                pcStack_112c = pcVar33;\n                goto LAB_000168d4;\n              }\n              goto LAB_00016248;\n            }\n            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);\n          }\n          else {\nLAB_000168d4:\n            if (piVar14 == (int *)0x0) {\n              iVar13 = *(int *)(pcVar38 + 0x177b0);\n              pcVar25 = pcVar33;\n              if ((int)pcStack_10d0 < (int)pcVar33) {\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                *(undefined4 *)(iVar13 + -0x4fdc) = 0;\n                *(undefined4 *)(iVar13 + -0x4fe0) = 0;\n                iVar13 = *(int *)(pcVar38 + 0x177b0);\n                pcVar25 = pcStack_10d0;\n              }\n              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;\n              *(uint *)(iVar13 + -0x4de0) =\n                   ((int)pcVar25 >> 0x1f) +\n                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);\n              *(char **)(iVar13 + -0x4ddc) = pcVar33;\n              iVar13 = 0;\n              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {\n                iStack_10f4 = iStack_10f4 + 1;\n              }\n              goto LAB_0001775c;\n            }\nLAB_00016248:\n            if (piVar14 == (int *)&SUB_fffffffe) {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;\n            }\n            else {\n              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;\n            }\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,\n                       uVar21,iVar13,pcVar41,ppcVar45);\n          }\nLAB_0001628c:\n          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {\n            iVar35 = *(int *)(pcVar38 + 0x177b0);\n            iVar13 = *(int *)(pcVar38 + 0x177b0);\n            iVar12 = *(int *)(iVar35 + -20000);\n            goto LAB_000162c4;\n          }\n        }\nLAB_0001726c:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);\n          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);\n          if (iVar12 == 6) {\n            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);\n            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);\n          }\n          if (iVar12 == 0) goto LAB_00016028;\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);\n          iVar12 = *(int *)(pcVar38 + 0x177b0);\n        }\n      }\n      else {\n        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);\n        piVar14 = (int *)0x0;\n        iStack_10f4 = 0;\nLAB_00016028:\n        iVar12 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(char *)(iVar12 + -0x4e17) != '\0') {\n        FUN_00011264(0);\n      }\n      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);\n      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {\n        (**(code **)(pcVar38 + 0x17898))();\n      }\n      if (iStack_1134 != 0) {\n        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);\n      }\n      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      else {\n        (**(code **)(pcVar38 + 0x177e8))(iVar11);\n        iVar11 = *(int *)(pcVar38 + 0x177b0);\n      }\n      if (*(int *)(iVar11 + -0x4e14) < 1) {\n        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&\n            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);\n          iVar11 = *(int *)(pcVar38 + 0x177c0);\n          if (piVar14 == (int *)0x0) {\n            piVar14 = (int *)0x63;\n          }\n        }\n        FUN_00011048(iVar11 + -0x7604);\n        if (iStack_10f4 == 0) {\nLAB_000160d8:\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        else {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);\n          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);\n          if (iVar11 < 0) goto LAB_000160d8;\n          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);\n          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {\n            (**(code **)(pcVar38 + 0x1787c))\n                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);\n          }\n          (**(code **)(pcVar38 + 0x177e8))(iVar11);\n          iVar11 = *(int *)(pcVar38 + 0x177b0);\n        }\n        if (*(int *)(iVar11 + -0x4dd8) != 0) {\n          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);\n        }\n      }\n      if ((int)piVar14 < 0) {\n        piVar14 = (int *)0x63;\n      }\n      goto LAB_000147ec;\n    }\n    iVar11 = *(int *)(pcVar38 + 0x177c0);\n  }\n  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);\n  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);\n  piVar14 = (int *)0x1f;\nLAB_000147ec:\n  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {\n    pcVar38 = *(code **)(pcVar38 + 0x17880);\n    (*pcVar38)();\n    return *(int **)(pcVar38 + 0x13608);\n  }\n  return piVar14;\nLAB_000146c0:\n  if (!bVar3) {\n    if (bVar27) goto LAB_000146f4;\n    goto LAB_00017904;\n  }\n  iVar11 = *(int *)(pcVar38 + 0x177b0);\n  if (bVar27) {\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);\nLAB_000146f4:\n    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);\n    piVar14 = (int *)0x0;\n    goto LAB_000147ec;\n  }\n  goto LAB_00017908;\n  while( true ) {\n    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();\n    iVar12 = *(int *)(iVar35 + -20000);\n    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;\nLAB_000162c4:\n    iVar15 = (**(code **)(pcVar38 + 0x17844))\n                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);\n    if (-1 < iVar15) {\n      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n        (**(code **)(pcVar38 + 0x1787c))\n                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n      }\n      goto LAB_0001726c;\n    }\n  }\n  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {\n    (**(code **)(pcVar38 + 0x1787c))\n              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,\n               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);\n  }\n  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);\n  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);\n  goto LAB_0001726c;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "longlong lVar7;" (type_identifier "longlong") (identifier "lVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined4 uVar21;" (type_identifier "undefined4") (identifier "uVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "char *pcVar25;" (primitive_type "char") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "undefined1 *puVar28;" (type_identifier "undefined1") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "uint uVar30;" (type_identifier "uint") (identifier "uVar30") (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "int *unaff_s1;" (primitive_type "int") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "undefined1 *puVar32;" (type_identifier "undefined1") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "int *unaff_s3;" (primitive_type "int") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "char *pcVar33;" (primitive_type "char") (pointer_declarator "*pcVar33" (* "*") (identifier "pcVar33")) (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "undefined *unaff_s4;" (type_identifier "undefined") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int iVar35;" (primitive_type "int") (identifier "iVar35") (; ";")) (declaration "int *unaff_s6;" (primitive_type "int") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int *unaff_s7;" (primitive_type "int") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "int iVar36;" (primitive_type "int") (identifier "iVar36") (; ";")) (declaration "undefined *puVar37;" (type_identifier "undefined") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "code *pcVar38;" (type_identifier "code") (pointer_declarator "*pcVar38" (* "*") (identifier "pcVar38")) (; ";")) (declaration "int *unaff_s8;" (primitive_type "int") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "undefined4 uVar39;" (type_identifier "undefined4") (identifier "uVar39") (; ";")) (declaration "code *pcVar40;" (type_identifier "code") (pointer_declarator "*pcVar40" (* "*") (identifier "pcVar40")) (; ";")) (declaration "char *pcVar41;" (primitive_type "char") (pointer_declarator "*pcVar41" (* "*") (identifier "pcVar41")) (; ";")) (declaration "longlong lVar42;" (type_identifier "longlong") (identifier "lVar42") (; ";")) (declaration "longlong lVar43;" (type_identifier "longlong") (identifier "lVar43") (; ";")) (declaration "longlong lVar44;" (type_identifier "longlong") (identifier "lVar44") (; ";")) (declaration "char **ppcVar45;" (primitive_type "char") (pointer_declarator "**ppcVar45" (* "*") (pointer_declarator "*ppcVar45" (* "*") (identifier "ppcVar45"))) (; ";")) (declaration "int iStack_113c;" (primitive_type "int") (identifier "iStack_113c") (; ";")) (declaration "char *pcStack_1138;" (primitive_type "char") (pointer_declarator "*pcStack_1138" (* "*") (identifier "pcStack_1138")) (; ";")) (declaration "int iStack_1134;" (primitive_type "int") (identifier "iStack_1134") (; ";")) (declaration "char *pcStack_112c;" (primitive_type "char") (pointer_declarator "*pcStack_112c" (* "*") (identifier "pcStack_112c")) (; ";")) (declaration "int iStack_1128;" (primitive_type "int") (identifier "iStack_1128") (; ";")) (declaration "char *pcStack_1124;" (primitive_type "char") (pointer_declarator "*pcStack_1124" (* "*") (identifier "pcStack_1124")) (; ";")) (declaration "int iStack_1120;" (primitive_type "int") (identifier "iStack_1120") (; ";")) (declaration "uint uStack_111c;" (type_identifier "uint") (identifier "uStack_111c") (; ";")) (declaration "int iStack_1110;" (primitive_type "int") (identifier "iStack_1110") (; ";")) (declaration "int iStack_110c;" (primitive_type "int") (identifier "iStack_110c") (; ";")) (declaration "uint uStack_1108;" (type_identifier "uint") (identifier "uStack_1108") (; ";")) (declaration "int iStack_10fc;" (primitive_type "int") (identifier "iStack_10fc") (; ";")) (declaration "int iStack_10f4;" (primitive_type "int") (identifier "iStack_10f4") (; ";")) (declaration "char cStack_10d5;" (primitive_type "char") (identifier "cStack_10d5") (; ";")) (declaration "int iStack_10d4;" (primitive_type "int") (identifier "iStack_10d4") (; ";")) (declaration "char *pcStack_10d0;" (primitive_type "char") (pointer_declarator "*pcStack_10d0" (* "*") (identifier "pcStack_10d0")) (; ";")) (declaration "int iStack_10cc;" (primitive_type "int") (identifier "iStack_10cc") (; ";")) (declaration "int iStack_10c8;" (primitive_type "int") (identifier "iStack_10c8") (; ";")) (declaration "undefined4 uStack_10c4;" (type_identifier "undefined4") (identifier "uStack_10c4") (; ";")) (declaration "char *pcStack_10c0;" (primitive_type "char") (pointer_declarator "*pcStack_10c0" (* "*") (identifier "pcStack_10c0")) (; ";")) (declaration "uint uStack_10bc;" (type_identifier "uint") (identifier "uStack_10bc") (; ";")) (declaration "char *pcStack_10b8;" (primitive_type "char") (pointer_declarator "*pcStack_10b8" (* "*") (identifier "pcStack_10b8")) (; ";")) (declaration "uint uStack_10b4;" (type_identifier "uint") (identifier "uStack_10b4") (; ";")) (declaration "undefined4 uStack_10b0;" (type_identifier "undefined4") (identifier "uStack_10b0") (; ";")) (declaration "undefined4 uStack_10ac;" (type_identifier "undefined4") (identifier "uStack_10ac") (; ";")) (declaration "int aiStack_10a4 [2];" (primitive_type "int") (array_declarator "aiStack_10a4 [2]" (identifier "aiStack_10a4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 uStack_109c;" (type_identifier "undefined1") (identifier "uStack_109c") (; ";")) (declaration "undefined1 uStack_109b;" (type_identifier "undefined1") (identifier "uStack_109b") (; ";")) (declaration "undefined1 auStack_109a [2];" (type_identifier "undefined1") (array_declarator "auStack_109a [2]" (identifier "auStack_109a") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int iStack_1098;" (primitive_type "int") (identifier "iStack_1098") (; ";")) (declaration "int iStack_1094;" (primitive_type "int") (identifier "iStack_1094") (; ";")) (declaration "undefined1 *puStack_1090;" (type_identifier "undefined1") (pointer_declarator "*puStack_1090" (* "*") (identifier "puStack_1090")) (; ";")) (declaration "char *pcStack_108c;" (primitive_type "char") (pointer_declarator "*pcStack_108c" (* "*") (identifier "pcStack_108c")) (; ";")) (declaration "undefined4 uStack_1088;" (type_identifier "undefined4") (identifier "uStack_1088") (; ";")) (declaration "undefined4 uStack_1084;" (type_identifier "undefined4") (identifier "uStack_1084") (; ";")) (declaration "undefined4 uStack_1080;" (type_identifier "undefined4") (identifier "uStack_1080") (; ";")) (declaration "undefined4 uStack_106c;" (type_identifier "undefined4") (identifier "uStack_106c") (; ";")) (declaration "undefined1 uStack_1064;" (type_identifier "undefined1") (identifier "uStack_1064") (; ";")) (declaration "byte bStack_1063;" (type_identifier "byte") (identifier "bStack_1063") (; ";")) (declaration "undefined1 auStack_105c [9];" (type_identifier "undefined1") (array_declarator "auStack_105c [9]" (identifier "auStack_105c") ([ "[") (number_literal "9") (] "]")) (; ";")) (declaration "undefined1 auStack_1053 [17];" (type_identifier "undefined1") (array_declarator "auStack_1053 [17]" (identifier "auStack_1053") ([ "[") (number_literal "17") (] "]")) (; ";")) (declaration "undefined1 auStack_1042 [6];" (type_identifier "undefined1") (array_declarator "auStack_1042 [6]" (identifier "auStack_1042") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "undefined1 auStack_103c [16];" (type_identifier "undefined1") (array_declarator "auStack_103c [16]" (identifier "auStack_103c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "char acStack_102c [512];" (primitive_type "char") (array_declarator "acStack_102c [512]" (identifier "acStack_102c") ([ "[") (number_literal "512") (] "]")) (; ";")) (declaration "char acStack_e2c [512];" (primitive_type "char") (array_declarator "acStack_e2c [512]" (identifier "acStack_e2c") ([ "[") (number_literal "512") (] "]")) (; ";")) (declaration "char acStack_c2c [512];" (primitive_type "char") (array_declarator "acStack_c2c [512]" (identifier "acStack_c2c") ([ "[") (number_literal "512") (] "]")) (; ";")) (declaration "char acStack_a2c [255];" (primitive_type "char") (array_declarator "acStack_a2c [255]" (identifier "acStack_a2c") ([ "[") (number_literal "255") (] "]")) (; ";")) (declaration "undefined1 uStack_92d;" (type_identifier "undefined1") (identifier "uStack_92d") (; ";")) (declaration "char cStack_72c;" (primitive_type "char") (identifier "cStack_72c") (; ";")) (declaration "char acStack_72b [1022];" (primitive_type "char") (array_declarator "acStack_72b [1022]" (identifier "acStack_72b") ([ "[") (number_literal "1022") (] "]")) (; ";")) (declaration "undefined1 uStack_32d;" (type_identifier "undefined1") (identifier "uStack_32d") (; ";")) (declaration "int iStack_32c;" (primitive_type "int") (identifier "iStack_32c") (; ";")) (declaration "int *piStack_328;" (primitive_type "int") (pointer_declarator "*piStack_328" (* "*") (identifier "piStack_328")) (; ";")) (declaration "undefined1 *puStack_324;" (type_identifier "undefined1") (pointer_declarator "*puStack_324" (* "*") (identifier "puStack_324")) (; ";")) (declaration "undefined4 uStack_320;" (type_identifier "undefined4") (identifier "uStack_320") (; ";")) (declaration "undefined1 *puStack_31c;" (type_identifier "undefined1") (pointer_declarator "*puStack_31c" (* "*") (identifier "puStack_31c")) (; ";")) (declaration "int *piStack_318;" (primitive_type "int") (pointer_declarator "*piStack_318" (* "*") (identifier "piStack_318")) (; ";")) (declaration "uint uStack_314;" (type_identifier "uint") (identifier "uStack_314") (; ";")) (declaration "int *piStack_310;" (primitive_type "int") (pointer_declarator "*piStack_310" (* "*") (identifier "piStack_310")) (; ";")) (declaration "int iStack_30c;" (primitive_type "int") (identifier "iStack_30c") (; ";")) (declaration "uint uStack_308;" (type_identifier "uint") (identifier "uStack_308") (; ";")) (declaration "code *pcStack_304;" (type_identifier "code") (pointer_declarator "*pcStack_304" (* "*") (identifier "pcStack_304")) (; ";")) (declaration "undefined1 *puStack_2f0;" (type_identifier "undefined1") (pointer_declarator "*puStack_2f0" (* "*") (identifier "puStack_2f0")) (; ";")) (declaration "undefined4 uStack_2ec;" (type_identifier "undefined4") (identifier "uStack_2ec") (; ";")) (declaration "undefined1 *puStack_2e8;" (type_identifier "undefined1") (pointer_declarator "*puStack_2e8" (* "*") (identifier "puStack_2e8")) (; ";")) (declaration "uint uStack_2e4;" (type_identifier "uint") (identifier "uStack_2e4") (; ";")) (declaration "uint uStack_2e0;" (type_identifier "uint") (identifier "uStack_2e0") (; ";")) (declaration "undefined4 *puStack_2dc;" (type_identifier "undefined4") (pointer_declarator "*puStack_2dc" (* "*") (identifier "puStack_2dc")) (; ";")) (declaration "code *pcStack_2d8;" (type_identifier "code") (pointer_declarator "*pcStack_2d8" (* "*") (identifier "pcStack_2d8")) (; ";")) (declaration "int *piStack_2d0;" (primitive_type "int") (pointer_declarator "*piStack_2d0" (* "*") (identifier "piStack_2d0")) (; ";")) (declaration "code *pcStack_2cc;" (type_identifier "code") (pointer_declarator "*pcStack_2cc" (* "*") (identifier "pcStack_2cc")) (; ";")) (declaration "int iStack_2c8;" (primitive_type "int") (identifier "iStack_2c8") (; ";")) (declaration "undefined1 *puStack_2c4;" (type_identifier "undefined1") (pointer_declarator "*puStack_2c4" (* "*") (identifier "puStack_2c4")) (; ";")) (declaration "int *piStack_2c0;" (primitive_type "int") (pointer_declarator "*piStack_2c0" (* "*") (identifier "piStack_2c0")) (; ";")) (declaration "int iStack_2bc;" (primitive_type "int") (identifier "iStack_2bc") (; ";")) (declaration "int iStack_2b8;" (primitive_type "int") (identifier "iStack_2b8") (; ";")) (declaration "int iStack_2b4;" (primitive_type "int") (identifier "iStack_2b4") (; ";")) (declaration "int iStack_2b0;" (primitive_type "int") (identifier "iStack_2b0") (; ";")) (declaration "int iStack_2ac;" (primitive_type "int") (identifier "iStack_2ac") (; ";")) (declaration "int iStack_2a8;" (primitive_type "int") (identifier "iStack_2a8") (; ";")) (declaration "undefined4 uStack_298;" (type_identifier "undefined4") (identifier "uStack_298") (; ";")) (declaration "undefined4 uStack_294;" (type_identifier "undefined4") (identifier "uStack_294") (; ";")) (declaration "int iStack_28c;" (primitive_type "int") (identifier "iStack_28c") (; ";")) (declaration "int *piStack_288;" (primitive_type "int") (pointer_declarator "*piStack_288" (* "*") (identifier "piStack_288")) (; ";")) (declaration "int *piStack_284;" (primitive_type "int") (pointer_declarator "*piStack_284" (* "*") (identifier "piStack_284")) (; ";")) (declaration "undefined1 *puStack_280;" (type_identifier "undefined1") (pointer_declarator "*puStack_280" (* "*") (identifier "puStack_280")) (; ";")) (declaration "int *piStack_27c;" (primitive_type "int") (pointer_declarator "*piStack_27c" (* "*") (identifier "piStack_27c")) (; ";")) (declaration "undefined *puStack_278;" (type_identifier "undefined") (pointer_declarator "*puStack_278" (* "*") (identifier "puStack_278")) (; ";")) (declaration "undefined1 *puStack_270;" (type_identifier "undefined1") (pointer_declarator "*puStack_270" (* "*") (identifier "puStack_270")) (; ";")) (declaration "int *piStack_26c;" (primitive_type "int") (pointer_declarator "*piStack_26c" (* "*") (identifier "piStack_26c")) (; ";")) (declaration "int iStack_268;" (primitive_type "int") (identifier "iStack_268") (; ";")) (declaration "code *pcStack_264;" (type_identifier "code") (pointer_declarator "*pcStack_264" (* "*") (identifier "pcStack_264")) (; ";")) (declaration "int iStack_260;" (primitive_type "int") (identifier "iStack_260") (; ";")) (declaration "int *piStack_258;" (primitive_type "int") (pointer_declarator "*piStack_258" (* "*") (identifier "piStack_258")) (; ";")) (declaration "undefined1 *local_250;" (type_identifier "undefined1") (pointer_declarator "*local_250" (* "*") (identifier "local_250")) (; ";")) (declaration "undefined4 local_24c;" (type_identifier "undefined4") (identifier "local_24c") (; ";")) (declaration "undefined1 *local_248;" (type_identifier "undefined1") (pointer_declarator "*local_248" (* "*") (identifier "local_248")) (; ";")) (declaration "uint local_244;" (type_identifier "uint") (identifier "local_244") (; ";")) (declaration "uint local_240;" (type_identifier "uint") (identifier "local_240") (; ";")) (declaration "int *piStack_23c;" (primitive_type "int") (pointer_declarator "*piStack_23c" (* "*") (identifier "piStack_23c")) (; ";")) (declaration "undefined *local_238;" (type_identifier "undefined") (pointer_declarator "*local_238" (* "*") (identifier "local_238")) (; ";")) (declaration "int *local_22c;" (primitive_type "int") (pointer_declarator "*local_22c" (* "*") (identifier "local_22c")) (; ";")) (declaration "int local_21c [2];" (primitive_type "int") (array_declarator "local_21c [2]" (identifier "local_21c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_214;" (type_identifier "undefined1") (identifier "local_214") (; ";")) (declaration "undefined1 local_213;" (type_identifier "undefined1") (identifier "local_213") (; ";")) (declaration "undefined1 auStack_212 [2];" (type_identifier "undefined1") (array_declarator "auStack_212 [2]" (identifier "auStack_212") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int local_210;" (primitive_type "int") (identifier "local_210") (; ";")) (declaration "int *local_20c;" (primitive_type "int") (pointer_declarator "*local_20c" (* "*") (identifier "local_20c")) (; ";")) (declaration "undefined1 *local_208;" (type_identifier "undefined1") (pointer_declarator "*local_208" (* "*") (identifier "local_208")) (; ";")) (declaration "undefined1 *local_204;" (type_identifier "undefined1") (pointer_declarator "*local_204" (* "*") (identifier "local_204")) (; ";")) (declaration "undefined4 local_200;" (type_identifier "undefined4") (identifier "local_200") (; ";")) (declaration "undefined4 local_1fc;" (type_identifier "undefined4") (identifier "local_1fc") (; ";")) (declaration "byte local_1ed;" (type_identifier "byte") (identifier "local_1ed") (; ";")) (declaration "int *local_1e4;" (primitive_type "int") (pointer_declarator "*local_1e4" (* "*") (identifier "local_1e4")) (; ";")) (declaration "undefined1 local_1dc [16];" (type_identifier "undefined1") (array_declarator "local_1dc [16]" (identifier "local_1dc") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auStack_1cc [64];" (type_identifier "undefined1") (array_declarator "auStack_1cc [64]" (identifier "auStack_1cc") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "int local_18c;" (primitive_type "int") (identifier "local_18c") (; ";")) (declaration "int *local_188;" (primitive_type "int") (pointer_declarator "*local_188" (* "*") (identifier "local_188")) (; ";")) (declaration "int *local_184;" (primitive_type "int") (pointer_declarator "*local_184" (* "*") (identifier "local_184")) (; ";")) (declaration "undefined1 *local_180;" (type_identifier "undefined1") (pointer_declarator "*local_180" (* "*") (identifier "local_180")) (; ";")) (declaration "int *local_17c;" (primitive_type "int") (pointer_declarator "*local_17c" (* "*") (identifier "local_17c")) (; ";")) (declaration "undefined *local_178;" (type_identifier "undefined") (pointer_declarator "*local_178" (* "*") (identifier "local_178")) (; ";")) (declaration "int *local_174;" (primitive_type "int") (pointer_declarator "*local_174" (* "*") (identifier "local_174")) (; ";")) (declaration "int *local_170;" (primitive_type "int") (pointer_declarator "*local_170" (* "*") (identifier "local_170")) (; ";")) (declaration "int *local_16c;" (primitive_type "int") (pointer_declarator "*local_16c" (* "*") (identifier "local_16c")) (; ";")) (declaration "int *local_168;" (primitive_type "int") (pointer_declarator "*local_168" (* "*") (identifier "local_168")) (; ";")) (declaration "undefined4 local_164;" (type_identifier "undefined4") (identifier "local_164") (; ";")) (declaration "undefined1 *local_158;" (type_identifier "undefined1") (pointer_declarator "*local_158" (* "*") (identifier "local_158")) (; ";")) (declaration "undefined4 local_14c;" (type_identifier "undefined4") (identifier "local_14c") (; ";")) (declaration "int local_148;" (primitive_type "int") (identifier "local_148") (; ";")) (declaration "int *local_144;" (primitive_type "int") (pointer_declarator "*local_144" (* "*") (identifier "local_144")) (; ";")) (declaration "int *local_140;" (primitive_type "int") (pointer_declarator "*local_140" (* "*") (identifier "local_140")) (; ";")) (declaration "int *local_13c;" (primitive_type "int") (pointer_declarator "*local_13c" (* "*") (identifier "local_13c")) (; ";")) (declaration "int local_12c [63];" (primitive_type "int") (array_declarator "local_12c [63]" (identifier "local_12c") ([ "[") (number_literal "63") (] "]")) (; ";")) (declaration "undefined1 local_2d;" (type_identifier "undefined1") (identifier "local_2d") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0002b138;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0002b138" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0002b138" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0002b138" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0002b138")))) (; ";")) (expression_statement "puVar28 = (undefined1 *)0x100;" (assignment_expression "puVar28 = (undefined1 *)0x100" (identifier "puVar28") (= "=") (cast_expression "(undefined1 *)0x100" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x100"))) (; ";")) (expression_statement "(*(code *)PTR_strncpy_0002b0d4)(local_12c);" (call_expression "(*(code *)PTR_strncpy_0002b0d4)(local_12c)" (parenthesized_expression "(*(code *)PTR_strncpy_0002b0d4)" (( "(") (pointer_expression "*(code *)PTR_strncpy_0002b0d4" (* "*") (cast_expression "(code *)PTR_strncpy_0002b0d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncpy_0002b0d4"))) () ")")) (argument_list "(local_12c)" (( "(") (identifier "local_12c") () ")"))) (; ";")) (expression_statement "local_2d = 0;" (assignment_expression "local_2d = 0" (identifier "local_2d") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar14 = local_12c;" (assignment_expression "piVar14 = local_12c" (identifier "piVar14") (= "=") (identifier "local_12c")) (; ";")) (if_statement "if (local_12c[0]._0_1_ == '\0') {\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }\n  else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }" (if "if") (parenthesized_expression "(local_12c[0]._0_1_ == '\0')" (( "(") (binary_expression "local_12c[0]._0_1_ == '\0'" (field_expression "local_12c[0]._0_1_" (subscript_expression "local_12c[0]" (identifier "local_12c") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_0_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);\n    piVar8 = (int *)0x1;\n  }" ({ "{") (expression_statement "(*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);" (call_expression "(*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94)" (parenthesized_expression "(*(code *)PTR_pr2serr_0002b124)" (( "(") (pointer_expression "*(code *)PTR_pr2serr_0002b124" (* "*") (cast_expression "(code *)PTR_pr2serr_0002b124" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pr2serr_0002b124"))) () ")")) (argument_list "(PTR_DAT_0002b068 + -0x6d94)" (( "(") (binary_expression "PTR_DAT_0002b068 + -0x6d94" (identifier "PTR_DAT_0002b068") (+ "+") (number_literal "-0x6d94")) () ")"))) (; ";")) (expression_statement "piVar8 = (int *)0x1;" (assignment_expression "piVar8 = (int *)0x1" (identifier "piVar8") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }" (else "else") (compound_statement "{\n    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);\n    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;\n    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);\n    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);\n    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);\n    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);\n    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);\n    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);\n    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);\n    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);\n    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);\n    do {\n      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);\n      unaff_s1 = piVar10;\n      if (piVar10 != (int *)0x0) {\n        unaff_s1 = (int *)((int)piVar10 + 1);\n        *(char *)piVar10 = '\0';\n      }\n      param_1 = unaff_s3;\n      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n      if (iVar11 == 0) {\n        *param_2 = 1;\n      }\n      else {\n        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);\n        param_1 = unaff_s5;\n        if (iVar11 == 0) {\n          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;\n        }\n        else {\n          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n          if (iVar11 == 0) {\n            param_2[1] = 1;\n          }\n          else {\n            param_1 = unaff_s6;\n            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n            if (iVar11 == 0) {\n              param_2[2] = 1;\n            }\n            else {\n              param_1 = unaff_s7;\n              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n              if (iVar11 == 0) {\n                param_2[3] = 1;\n              }\n              else {\n                param_1 = unaff_s8;\n                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                if (iVar11 == 0) {\n                  param_2[4] = 1;\n                }\n                else {\n                  param_1 = local_144;\n                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                  if (iVar11 == 0) {\n                    param_2[5] = 1;\n                  }\n                  else {\n                    param_1 = local_140;\n                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                    if (iVar11 == 0) {\n                      param_2[6] = 1;\n                    }\n                    else {\n                      param_1 = local_13c;\n                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                      if (iVar11 == 0) {\n                        param_2[7] = 1;\n                      }\n                      else {\n                        param_1 = piVar8;\n                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                        if (iVar11 == 0) {\n                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;\n                        }\n                        else {\n                          param_1 = piVar9;\n                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                          if (iVar11 != 0) {\n                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);\n                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                            if (iVar11 == 0) {\n                              param_2[8] = 1;\n                            }\n                            else {\n                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);\n                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);\n                              if (iVar11 != 0) {\n                                param_1 = piVar14;\n                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);\n                                piVar8 = (int *)0x1;\n                                goto LAB_0001260c;\n                              }\n                              param_2[9] = 1;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      piVar14 = unaff_s1;\n    } while (unaff_s1 != (int *)0x0);\n    piVar8 = (int *)0x0;\n  }" ({ "{") (expression_statement "unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);" (assignment_expression "unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84)" (identifier "unaff_s3") (= "=") (cast_expression "(int *)(PTR_DAT_0002b068 + -0x6d84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002b068 + -0x6d84)" (( "(") (binary_expression "PTR_DAT_0002b068 + -0x6d84" (identifier "PTR_DAT_0002b068") (+ "+") (number_literal "-0x6d84")) () ")")))) (; ";")) (expression_statement "unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;" (assignment_expression "unaff_s4 = PTR_DAT_0002b068 + -0x6d7c" (identifier "unaff_s4") (= "=") (binary_expression "PTR_DAT_0002b068 + -0x6d7c" (identifier "PTR_DAT_0002b068") (+ "+") (number_literal "-0x6d7c"))) (; ";")) (expression_statement "unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);" (assignment_expression "unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(PTR_DAT_0002b068 + -0x5680)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002b068 + -0x5680)" (( "(") (binary_expression "PT
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))))))))))))))))))))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (number_literal))))) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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: (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: (number_literal))))) right: (number_literal))) right: (comma_expression left: (assignment_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: (number_literal))))) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) 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: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true)))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (true)))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (true)))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_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: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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))))) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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))))) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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))))) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_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))) (expression_statement (assignment_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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (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: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (labeled_statement label: (statement_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))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal))))))))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) 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)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (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: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) 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)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (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: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) 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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (labeled_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (number_literal) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (goto_statement label: (statement_identifier))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (number_literal) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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))))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) 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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_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: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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))))))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (number_literal))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_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))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_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: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_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: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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))))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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)))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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))))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (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: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))))

/* WARNING: Removing unreachable block (ram,0x00015a7c) */
/* WARNING: Type propagation algorithm not settling */

int * MASKED(int *param_1,undefined1 *param_2)

{
  char cVar1;
  bool bVar2;
  bool bVar3;
  bool bVar4;
  bool bVar5;
  char cVar6;
  longlong lVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int *piVar14;
  int iVar15;
  uint uVar16;
  undefined4 *puVar17;
  int iVar18;
  int iVar19;
  uint uVar20;
  undefined4 uVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  char *pcVar25;
  bool bVar27;
  uint uVar26;
  undefined1 *puVar28;
  int iVar29;
  uint uVar30;
  int iVar31;
  int *unaff_s1;
  undefined1 *puVar32;
  int *unaff_s3;
  char *pcVar33;
  int iVar34;
  undefined *unaff_s4;
  int *unaff_s5;
  int iVar35;
  int *unaff_s6;
  int *unaff_s7;
  int iVar36;
  undefined *puVar37;
  code *pcVar38;
  int *unaff_s8;
  undefined4 uVar39;
  code *pcVar40;
  char *pcVar41;
  longlong lVar42;
  longlong lVar43;
  longlong lVar44;
  char **ppcVar45;
  int iStack_113c;
  char *pcStack_1138;
  int iStack_1134;
  char *pcStack_112c;
  int iStack_1128;
  char *pcStack_1124;
  int iStack_1120;
  uint uStack_111c;
  int iStack_1110;
  int iStack_110c;
  uint uStack_1108;
  int iStack_10fc;
  int iStack_10f4;
  char cStack_10d5;
  int iStack_10d4;
  char *pcStack_10d0;
  int iStack_10cc;
  int iStack_10c8;
  undefined4 uStack_10c4;
  char *pcStack_10c0;
  uint uStack_10bc;
  char *pcStack_10b8;
  uint uStack_10b4;
  undefined4 uStack_10b0;
  undefined4 uStack_10ac;
  int aiStack_10a4 [2];
  undefined1 uStack_109c;
  undefined1 uStack_109b;
  undefined1 auStack_109a [2];
  int iStack_1098;
  int iStack_1094;
  undefined1 *puStack_1090;
  char *pcStack_108c;
  undefined4 uStack_1088;
  undefined4 uStack_1084;
  undefined4 uStack_1080;
  undefined4 uStack_106c;
  undefined1 uStack_1064;
  byte bStack_1063;
  undefined1 auStack_105c [9];
  undefined1 auStack_1053 [17];
  undefined1 auStack_1042 [6];
  undefined1 auStack_103c [16];
  char acStack_102c [512];
  char acStack_e2c [512];
  char acStack_c2c [512];
  char acStack_a2c [255];
  undefined1 uStack_92d;
  char cStack_72c;
  char acStack_72b [1022];
  undefined1 uStack_32d;
  int iStack_32c;
  int *piStack_328;
  undefined1 *puStack_324;
  undefined4 uStack_320;
  undefined1 *puStack_31c;
  int *piStack_318;
  uint uStack_314;
  int *piStack_310;
  int iStack_30c;
  uint uStack_308;
  code *pcStack_304;
  undefined1 *puStack_2f0;
  undefined4 uStack_2ec;
  undefined1 *puStack_2e8;
  uint uStack_2e4;
  uint uStack_2e0;
  undefined4 *puStack_2dc;
  code *pcStack_2d8;
  int *piStack_2d0;
  code *pcStack_2cc;
  int iStack_2c8;
  undefined1 *puStack_2c4;
  int *piStack_2c0;
  int iStack_2bc;
  int iStack_2b8;
  int iStack_2b4;
  int iStack_2b0;
  int iStack_2ac;
  int iStack_2a8;
  undefined4 uStack_298;
  undefined4 uStack_294;
  int iStack_28c;
  int *piStack_288;
  int *piStack_284;
  undefined1 *puStack_280;
  int *piStack_27c;
  undefined *puStack_278;
  undefined1 *puStack_270;
  int *piStack_26c;
  int iStack_268;
  code *pcStack_264;
  int iStack_260;
  int *piStack_258;
  undefined1 *local_250;
  undefined4 local_24c;
  undefined1 *local_248;
  uint local_244;
  uint local_240;
  int *piStack_23c;
  undefined *local_238;
  int *local_22c;
  int local_21c [2];
  undefined1 local_214;
  undefined1 local_213;
  undefined1 auStack_212 [2];
  int local_210;
  int *local_20c;
  undefined1 *local_208;
  undefined1 *local_204;
  undefined4 local_200;
  undefined4 local_1fc;
  byte local_1ed;
  int *local_1e4;
  undefined1 local_1dc [16];
  undefined1 auStack_1cc [64];
  int local_18c;
  int *local_188;
  int *local_184;
  undefined1 *local_180;
  int *local_17c;
  undefined *local_178;
  int *local_174;
  int *local_170;
  int *local_16c;
  int *local_168;
  undefined4 local_164;
  undefined1 *local_158;
  undefined4 local_14c;
  int local_148;
  int *local_144;
  int *local_140;
  int *local_13c;
  int local_12c [63];
  undefined1 local_2d;
  int local_2c;
  
  local_2c = *(int *)PTR___stack_chk_guard_0002b138;
  puVar28 = (undefined1 *)0x100;
  (*(code *)PTR_strncpy_0002b0d4)(local_12c);
  local_2d = 0;
  piVar14 = local_12c;
  if (local_12c[0]._0_1_ == '\0') {
    (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d94);
    piVar8 = (int *)0x1;
  }
  else {
    unaff_s3 = (int *)(PTR_DAT_0002b068 + -0x6d84);
    unaff_s4 = PTR_DAT_0002b068 + -0x6d7c;
    unaff_s5 = (int *)(PTR_DAT_0002b068 + -0x5680);
    unaff_s6 = (int *)(PTR_DAT_0002b068 + -0x6d78);
    unaff_s7 = (int *)(PTR_DAT_0002b068 + -0x6d70);
    unaff_s8 = (int *)(PTR_DAT_0002b068 + -0x6d6c);
    local_144 = (int *)(PTR_DAT_0002b068 + -0x6d64);
    local_140 = (int *)(PTR_DAT_0002b068 + -0x6d5c);
    local_13c = (int *)(PTR_DAT_0002b068 + -0x6d54);
    piVar8 = (int *)(PTR_DAT_0002b068 + -0x6d50);
    piVar9 = (int *)(PTR_DAT_0002b068 + -0x6d48);
    do {
      piVar10 = (int *)(*(code *)PTR_strchr_0002b100)(piVar14,0x2c);
      unaff_s1 = piVar10;
      if (piVar10 != (int *)0x0) {
        unaff_s1 = (int *)((int)piVar10 + 1);
        *(char *)piVar10 = '\0';
      }
      param_1 = unaff_s3;
      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
      if (iVar11 == 0) {
        *param_2 = 1;
      }
      else {
        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14,unaff_s4);
        param_1 = unaff_s5;
        if (iVar11 == 0) {
          *(int *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + 1;
        }
        else {
          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
          if (iVar11 == 0) {
            param_2[1] = 1;
          }
          else {
            param_1 = unaff_s6;
            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
            if (iVar11 == 0) {
              param_2[2] = 1;
            }
            else {
              param_1 = unaff_s7;
              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
              if (iVar11 == 0) {
                param_2[3] = 1;
              }
              else {
                param_1 = unaff_s8;
                iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                if (iVar11 == 0) {
                  param_2[4] = 1;
                }
                else {
                  param_1 = local_144;
                  iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                  if (iVar11 == 0) {
                    param_2[5] = 1;
                  }
                  else {
                    param_1 = local_140;
                    iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                    if (iVar11 == 0) {
                      param_2[6] = 1;
                    }
                    else {
                      param_1 = local_13c;
                      iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                      if (iVar11 == 0) {
                        param_2[7] = 1;
                      }
                      else {
                        param_1 = piVar8;
                        iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                        if (iVar11 == 0) {
                          *(int *)(param_2 + 0x14) = *(int *)(param_2 + 0x14) + 1;
                        }
                        else {
                          param_1 = piVar9;
                          iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                          if (iVar11 != 0) {
                            param_1 = (int *)(PTR_DAT_0002b068 + -0x66cc);
                            iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                            if (iVar11 == 0) {
                              param_2[8] = 1;
                            }
                            else {
                              param_1 = (int *)(PTR_DAT_0002b068 + -0x6d40);
                              iVar11 = (*(code *)PTR_strcmp_0002b150)(piVar14);
                              if (iVar11 != 0) {
                                param_1 = piVar14;
                                (*(code *)PTR_pr2serr_0002b124)(PTR_DAT_0002b068 + -0x6d38);
                                piVar8 = (int *)0x1;
                                goto LAB_0001260c;
                              }
                              param_2[9] = 1;
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      piVar14 = unaff_s1;
    } while (unaff_s1 != (int *)0x0);
    piVar8 = (int *)0x0;
  }
LAB_0001260c:
  if (local_2c == *(int *)PTR___stack_chk_guard_0002b138) {
    return piVar8;
  }
  uVar39 = 0x12658;
  iVar11 = local_2c;
  puVar37 = PTR___stack_chk_fail_0002b128;
  (*(code *)PTR___stack_chk_fail_0002b128)();
  local_238 = puVar37 + 0x209d8;
  piVar9 = (int *)&_gp_1;
  local_22c = local_13c;
  local_18c = **(int **)(puVar37 + 0x18ae0);
  local_240 = (uint)(byte)*local_144;
  local_244 = (uint)*(byte *)((int)local_144 + 7);
  local_248 = (undefined1 *)0x0;
  local_250 = &_gp_1;
  local_24c = local_14c;
  piVar8 = (int *)local_144[3];
  local_188 = piVar14;
  local_184 = unaff_s1;
  local_180 = param_2;
  local_17c = unaff_s3;
  local_178 = unaff_s4;
  local_174 = unaff_s5;
  local_170 = unaff_s6;
  local_16c = unaff_s7;
  local_168 = unaff_s8;
  local_164 = uVar39;
  local_158 = puVar28;
  iVar12 = FUN_00011dd4(local_1dc);
  if (iVar12 == 0) {
    (**(code **)(local_238 + -0x7f54))(auStack_212,0,0x36);
    local_21c[0] = 0x53;
    local_214 = (undefined1)local_144[3];
    local_208 = local_1dc;
    local_21c[1] = 0xfffffffd;
    local_210 = (int)local_158 * local_148;
    local_213 = 0x40;
    local_204 = auStack_1cc;
    local_200 = 60000;
    if (local_140 == (int *)0x0) {
LAB_00012788:
      iVar13 = *(int *)(local_238 + -0x7fd8);
    }
    else {
      iVar13 = *(int *)(local_238 + -0x7fd8);
      if (*(char *)local_140 != '\0') {
        local_1fc = 1;
        goto LAB_00012788;
      }
    }
    local_20c = param_1;
    if (2 < *(int *)(iVar13 + -0x4e1c)) {
      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6ce8);
      puVar28 = local_1dc;
      if (0 < local_144[3]) {
        iVar35 = *(int *)(local_238 + -0x7fc8);
        iVar13 = 0;
        do {
          (**(code **)(local_238 + -0x7f0c))(iVar35 + -0x6cd8,*puVar28);
          iVar13 = iVar13 + 1;
          puVar28 = puVar28 + 1;
        } while (iVar13 < local_144[3]);
      }
      (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6424);
    }
    param_1 = local_21c;
    param_2 = (undefined1 *)0x4;
    unaff_s4 = (undefined *)0xb;
    do {
      piVar14 = param_1;
      iVar13 = (**(code **)(local_238 + -0x7f10))(iVar11,0x2285);
      if (-1 < iVar13) {
        piVar8 = local_1e4;
        if (2 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {
          (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6cac);
          piVar8 = local_1e4;
        }
        piVar10 = (int *)(**(code **)(local_238 + -0x7f48))(local_21c);
        param_2 = local_204;
        param_1 = (int *)(uint)local_1ed;
        if (piVar10 < (int *)0x16) {
                    /* WARNING: Could not recover jumptable at 0x00012958. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          piVar14 = (int *)(*(code *)(local_238 +
                                     *(int *)(*(int *)(local_238 + -0x7fc8) + -0x5530 +
                                             (int)piVar10 * 4)))();
          return piVar14;
        }
        *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) =
             *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e08) + 1;
        if (0 < *(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c)) {
          piVar14 = (int *)(*(int *)(*(int *)(local_238 + -0x7fd8) + -0x4e1c) < 2 ^ 1);
          piVar8 = local_21c;
          (**(code **)(local_238 + -0x7fa8))(*(int *)(local_238 + -0x7fc8) + -0x61f8);
        }
        goto LAB_0001282c;
      }
      piVar14 = (int *)(**(code **)(local_238 + -0x7f58))();
      iVar13 = *piVar14;
    } while ((iVar13 == 4) || (piVar8 = (int *)0x2285, iVar13 == 0xb));
    if (iVar13 == 0xc) {
      piVar10 = (int *)&SUB_fffffffe;
      piVar14 = param_1;
    }
    else {
      piVar14 = param_1;
      (**(code **)(local_238 + -0x7f14))(*(int *)(local_238 + -0x7fc8) + -0x6cd0);
      piVar10 = (int *)0xffffffff;
    }
  }
  else {
    local_250 = local_158;
    piVar14 = piVar9;
    (**(code **)(local_238 + -0x7f0c))(*(int *)(local_238 + -0x7fc8) + -0x6d20);
    piVar10 = (int *)0x1;
  }
LAB_0001282c:
  if (local_18c == **(int **)(local_238 + -0x7ef8)) {
    return piVar10;
  }
  pcVar38 = *(code **)(local_238 + -0x7f08);
  pcVar40 = FUN_00012d68;
  iVar11 = local_18c;
  (*pcVar38)();
  uVar16 = local_240;
  uVar20 = local_244;
  puVar32 = local_248;
  puVar28 = local_250;
  pcStack_2d8 = pcVar38 + 0x202c8;
  piStack_26c = local_140;
  puStack_270 = &_gp_1;
  piStack_27c = local_144;
  piStack_2c0 = piStack_23c;
  iStack_28c = **(int **)(pcVar38 + 0x183d0);
  iVar13 = *(int *)(local_244 + 0x1c);
  piStack_2d0 = piVar8;
  piStack_288 = piVar10;
  piStack_284 = param_1;
  puStack_280 = param_2;
  puStack_278 = unaff_s4;
  iStack_268 = iVar12;
  pcStack_264 = pcVar40;
  iStack_260 = iVar11;
  piStack_258 = piVar14;
  if ((int)piVar14 < 1) {
    iStack_2c8 = 0;
  }
  else {
    puStack_2c4 = local_248;
    iStack_2b4 = (int)local_248 << 1;
    iStack_2c8 = 0;
    pcStack_2cc = (code *)(*(int *)(pcVar38 + 0x182fc) + 0x2658);
    iStack_2bc = *(int *)(pcVar38 + 0x18300);
    piVar9 = (int *)(*(int *)(pcVar38 + 0x18300) + -0x54d8);
    iStack_2b0 = *(int *)(pcVar38 + 0x18300) + -0x5430;
    iStack_2b8 = *(int *)(pcVar38 + 0x18300) + -0x5484;
    iStack_2ac = iStack_2b4;
    do {
      uStack_294 = 0;
      uStack_298 = 0;
      puStack_2dc = &uStack_298;
      uStack_2e0 = uVar16;
      uStack_2e4 = uVar20;
      puStack_2e8 = puVar32;
      puStack_2f0 = puVar28;
      uStack_2ec = local_24c;
      piVar8 = piStack_2d0;
      piVar10 = (int *)(*pcStack_2cc)(iStack_260,piStack_2d0,piVar14);
      if ((int)piVar10 + 2U < 0x15) {
                    /* WARNING: Could not recover jumptable at 0x00012e94. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        piVar14 = (int *)(*(pcStack_2d8 + piVar9[(int)piVar10 + 2U]))();
        return piVar14;
      }
      iStack_2a8 = 0;
      if (iVar13 < 1) {
        if (*(int *)(uVar20 + 0x10) == 0) {
          if (piVar10 == (int *)0x0) {
            piVar10 = (int *)0xffffffff;
          }
        }
        else {
          puVar32 = (undefined1 *)((int)puVar32 * (int)piVar14);
          piVar8 = (int *)0x0;
          (**(code **)(pcStack_2d8 + -0x7f54))(piStack_2d0,0,puVar32);
          puStack_2f0 = puVar32;
          (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x677c);
          if (1 < (int)piVar14) {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x6744);
          }
          if (piStack_2c0 != (int *)0x0) {
            piVar14 = (int *)((int)piVar14 + iStack_2c8);
            *piStack_2c0 = (int)piVar14;
          }
          iVar11 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e24);
          if ((iVar11 < 1) ||
             (iVar12 = *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) + 1,
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e28) = iVar12, iVar12 <= iVar11)) {
            if (iStack_2a8 != 0) {
              piVar10 = (int *)0x0;
            }
          }
          else {
            (**(code **)(pcStack_2d8 + -0x7f0c))(*(int *)(pcStack_2d8 + -0x7fc8) + -0x67a8);
          }
        }
        goto LAB_00013850;
      }
      (**(code **)(pcStack_2d8 + -0x7f0c))(iStack_2bc + -0x6aec);
      *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) =
           *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e10) + 1;
      iVar13 = iVar13 + -1;
      if (0 < *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08)) {
        *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) =
             *(int *)(*(int *)(pcStack_2d8 + -0x7fd8) + -0x4e08) + -1;
      }
      piVar14 = (int *)((int)piStack_258 - iStack_2c8);
      piVar10 = piVar14;
    } while (0 < (int)piVar14);
  }
  piVar14 = piVar10;
  if (piStack_2c0 == (int *)0x0) {
    piVar10 = (int *)0x0;
  }
  else {
    *piStack_2c0 = iStack_2c8;
    piVar10 = (int *)0x0;
  }
LAB_00013850:
  if (iStack_28c == **(int **)(pcStack_2d8 + -0x7ef8)) {
    return piVar10;
  }
  pcVar38 = *(code **)(pcStack_2d8 + -0x7f08);
  pcVar40 = main;
  iVar11 = iStack_28c;
  (*pcVar38)();
  pcStack_304 = pcVar40;
  uStack_308 = uVar16;
  iStack_30c = iVar13;
  piStack_310 = piVar9;
  uStack_314 = uVar20;
  piStack_318 = piVar10;
  puStack_31c = puVar28;
  uStack_320 = local_24c;
  puStack_324 = puVar32;
  piStack_328 = piVar14;
  iStack_32c = **(int **)(pcVar38 + 0x17890);
  uStack_10bc = 0xffffffff;
  pcStack_10c0 = (char *)0xffffffff;
  uStack_10b4 = 0xffffffff;
  pcStack_10b8 = (char *)0xffffffff;
  acStack_102c[0] = '\0';
  acStack_e2c[0] = '\0';
  acStack_c2c[0] = '\0';
  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 10;
  *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 10;
  if (1 < iVar11) {
    lVar44 = 0;
    iStack_110c = 0;
    iStack_1110 = 0;
    pcStack_112c = (char *)0x80;
    iVar12 = 1;
    bVar27 = false;
    bVar3 = false;
    bVar2 = false;
    bVar4 = false;
    bVar5 = false;
    pcVar40 = (code *)(*(int *)(pcVar38 + 0x177bc) + 0xfb0);
    iVar13 = *(int *)(pcVar38 + 0x177b0);
    iVar35 = *(int *)(pcVar38 + 0x177b0);
    lVar43 = 0;
LAB_000139c0:
    piVar8 = piVar8 + 1;
    if (*piVar8 != 0) {
      (**(code **)(pcVar38 + 0x1782c))(&cStack_72c,*piVar8,0x400);
      uStack_32d = 0;
      if (cStack_72c == '\0') {
        pcVar33 = &cStack_72c;
      }
      else {
        pcVar33 = &cStack_72c;
        if (cStack_72c != '=') {
          pcVar25 = acStack_72b;
          do {
            pcVar33 = pcVar25;
            if (*pcVar33 == '\0') goto LAB_00013a20;
            pcVar25 = pcVar33 + 1;
          } while (*pcVar33 != '=');
        }
        *pcVar33 = '\0';
        pcVar33 = pcVar33 + 1;
      }
LAB_00013a20:
      iVar15 = (**(code **)(pcVar38 + 0x177fc))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d4,3)
      ;
      if (iVar15 == 0) {
        iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
        *(bool *)(iVar13 + -0x4e58) = iVar15 != 0;
        *(bool *)(iVar35 + -0x4e78) = iVar15 != 0;
      }
      else {
        iVar15 = (**(code **)(pcVar38 + 0x178a8))(&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66d0)
        ;
        if (iVar15 == 0) {
          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
          *(bool *)(iVar13 + -0x4e50) = iVar15 != 0;
          *(bool *)(iVar35 + -0x4e70) = iVar15 != 0;
        }
        else {
          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66c4);
          if (iVar15 == 0) {
            pcStack_112c = (char *)(**(code **)(pcVar38 + 0x1780c))(pcVar33);
            if (pcStack_112c == (char *)0xffffffff) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x66c0);
              piVar14 = (int *)0x1;
              goto LAB_000147ec;
            }
            bVar5 = true;
          }
          else {
            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x66a0);
            if (iVar15 == 0) {
              uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
              *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = uVar39;
              bVar5 = true;
            }
            else {
              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x669c);
              if (iVar15 == 0) {
                uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                *(undefined4 *)(iVar13 + -0x4e4c) = uVar39;
                *(undefined4 *)(iVar35 + -0x4e6c) = uVar39;
                bVar4 = true;
              }
              else {
                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                   (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d7c);
                if (iVar15 == 0) {
                  uVar39 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                  *(undefined4 *)(iVar13 + -0x4e48) = uVar39;
                  *(undefined4 *)(iVar35 + -0x4e68) = uVar39;
                }
                else {
                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                     (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6694);
                  if (iVar15 == 0) {
                    iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e24) = iVar15;
                    if (iVar15 == -1) {
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6688);
                      piVar14 = (int *)0x1;
                      goto LAB_000147ec;
                    }
                  }
                  else {
                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                       (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6660);
                    if (iVar15 == 0) {
                      (**(code **)(pcVar38 + 0x1782c))(acStack_a2c,pcVar33,0x100);
                      uStack_92d = 0;
                      if (acStack_a2c[0] == '\0') {
                        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6658);
                        iVar11 = *(int *)(pcVar38 + 0x177c0);
LAB_00013d7c:
                        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -22000);
                        piVar14 = (int *)0x1;
                        goto LAB_000147ec;
                      }
                      iVar15 = *(int *)(pcVar38 + 0x177c0);
                      pcVar33 = acStack_a2c;
                      do {
                        pcVar41 = (char *)(**(code **)(pcVar38 + 0x17858))(pcVar33,0x2c);
                        pcVar25 = pcVar41;
                        if (pcVar41 != (char *)0x0) {
                          pcVar25 = pcVar41 + 1;
                          *pcVar41 = '\0';
                        }
                        iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                        if (iVar18 == 0) {
                          *(int *)(iVar13 + -0x4e48) = *(int *)(iVar13 + -0x4e48) + 1;
                        }
                        else {
                          iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33,iVar15 + -0x6638);
                          if ((iVar18 != 0) &&
                             (iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33), iVar18 != 0)) {
                            iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                            if (iVar18 == 0) {
                              *(undefined1 *)(iVar35 + -0x4e6f) = 1;
                            }
                            else {
                              iVar18 = (**(code **)(pcVar38 + 0x178a8))(pcVar33);
                              if (iVar18 != 0) {
                                (**(code **)(pcVar38 + 0x1787c))
                                          (*(int *)(pcVar38 + 0x177c0) + -0x6d38);
                                iVar11 = *(int *)(pcVar38 + 0x177c0);
                                goto LAB_00013d7c;
                              }
                            }
                          }
                        }
                        pcVar33 = pcVar25;
                      } while (pcVar25 != (char *)0x0);
                    }
                    else {
                      iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                         (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6628);
                      if (iVar15 == 0) {
                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                           (*(int *)(pcVar38 + 0x177c0) + -0x6620);
                        if (iVar15 != 0) {
                          lVar42 = (**(code **)(pcVar38 + 0x17828))(pcVar33);
                          *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) = lVar42;
                          if (lVar42 == -1) {
                            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x661c);
                            piVar14 = (int *)0x1;
                            goto LAB_000147ec;
                          }
                        }
                      }
                      else {
                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                           (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x5680);
                        if (iVar15 == 0) {
                          iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                          *(bool *)(iVar35 + -0x4e77) = iVar15 != 0;
                          *(bool *)(iVar13 + -0x4e57) = iVar15 != 0;
                        }
                        else {
                          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                             (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x6d54);
                          if (iVar15 == 0) {
                            iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                            *(byte *)(iVar35 + -0x4e71) = (byte)iVar15 & 1;
                            *(byte *)(iVar13 + -0x4e51) = (byte)((uint)(iVar15 << 0x1e) >> 0x1f);
                          }
                          else {
                            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                               (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f8);
                            if (iVar15 == 0) {
                              iStack_1110 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                            }
                            else {
                              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                 (&cStack_72c,*(int *)(pcVar38 + 0x177c0) + -0x65f4)
                              ;
                              if (iVar15 == 0) {
                                if (acStack_102c[0] != '\0') {
                                  (**(code **)(pcVar38 + 0x1787c))
                                            (*(int *)(pcVar38 + 0x177c0) + -0x65f0,
                                             *(int *)(pcVar38 + 0x177c0),0x1ff);
                                  piVar14 = (int *)0x1;
                                  goto LAB_000147ec;
                                }
                                (**(code **)(pcVar38 + 0x1782c))(acStack_102c);
                              }
                              else {
                                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                   (&cStack_72c,
                                                    *(int *)(pcVar38 + 0x177c0) + -0x65d4);
                                if (iVar15 == 0) {
                                  iVar15 = MASKED(pcVar33);
                                  if (iVar15 != 0) {
                                    (**(code **)(pcVar38 + 0x1787c))
                                              (*(int *)(pcVar38 + 0x177c0) + -0x65cc);
                                    piVar14 = (int *)0x1;
                                    goto LAB_000147ec;
                                  }
                                }
                                else {
                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                     (&cStack_72c,
                                                      *(int *)(pcVar38 + 0x177c0) + -0x65a8);
                                  if (iVar15 == 0) {
                                    iStack_110c = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                  }
                                  else {
                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                       (&cStack_72c,
                                                        *(int *)(pcVar38 + 0x177c0) + -0x65a4);
                                    if (iVar15 == 0) {
                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                      *(bool *)(iVar13 + -0x4e56) = iVar15 != 0;
                                      *(bool *)(iVar35 + -0x4e76) = iVar15 != 0;
                                    }
                                    else {
                                      iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                         (&cStack_72c,
                                                          *(int *)(pcVar38 + 0x177c0) + -0x659c);
                                      if (iVar15 == 0) {
                                        if (acStack_e2c[0] != '\0') {
                                          (**(code **)(pcVar38 + 0x1787c))
                                                    (*(int *)(pcVar38 + 0x177c0) + -0x6598,
                                                     *(int *)(pcVar38 + 0x177c0),0x1ff);
                                          piVar14 = (int *)0x1f;
                                          goto LAB_000147ec;
                                        }
                                        (**(code **)(pcVar38 + 0x1782c))(acStack_e2c);
                                      }
                                      else {
                                        iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                           (&cStack_72c,
                                                            *(int *)(pcVar38 + 0x177c0) + -0x657c);
                                        if (iVar15 == 0) {
                                          if (acStack_c2c[0] != '\0') {
                                            (**(code **)(pcVar38 + 0x1787c))
                                                      (*(int *)(pcVar38 + 0x177c0) + -0x6578,
                                                       *(int *)(pcVar38 + 0x177c0),0x1ff);
                                            piVar14 = (int *)0x1f;
                                            goto LAB_000147ec;
                                          }
                                          (**(code **)(pcVar38 + 0x1782c))(acStack_c2c);
                                        }
                                        else {
                                          iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                             (&cStack_72c,
                                                              *(int *)(pcVar38 + 0x177c0) + -0x655c)
                                          ;
                                          if (iVar15 == 0) {
                                            iVar15 = MASKED(pcVar33);
                                            if (iVar15 != 0) {
                                              (**(code **)(pcVar38 + 0x1787c))
                                                        (*(int *)(pcVar38 + 0x177c0) + -0x6554);
                                              piVar14 = (int *)0x1;
                                              goto LAB_000147ec;
                                            }
                                          }
                                          else {
                                            iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                               (&cStack_72c,
                                                                *(int *)(pcVar38 + 0x177c0) +
                                                                -0x6530);
                                            if (iVar15 == 0) {
                                              iVar15 = (**(code **)(pcVar38 + 0x1780c))(pcVar33);
                                              *(int *)(iVar13 + -0x4e3c) = iVar15;
                                              *(int *)(iVar35 + -0x4e5c) = iVar15;
                                              if (iVar15 == -1) {
                                                (**(code **)(pcVar38 + 0x1787c))
                                                          (*(int *)(pcVar38 + 0x177c0) + -0x6528);
                                                piVar14 = (int *)0x1;
                                                goto LAB_000147ec;
                                              }
                                            }
                                            else {
                                              iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                 (&cStack_72c,
                                                                  *(int *)(pcVar38 + 0x177c0) +
                                                                  -0x6504);
                                              if (iVar15 == 0) {
                                                lVar43 = (**(code **)(pcVar38 + 0x17828))(pcVar33);
                                                if (lVar43 == -1) {
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x64fc);
                                                  piVar14 = (int *)0x1;
                                                  goto LAB_000147ec;
                                                }
                                              }
                                              else {
                                                iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                   (&cStack_72c,
                                                                    *(int *)(pcVar38 + 0x177c0) +
                                                                    -0x64dc);
                                                if (iVar15 == 0) {
                                                  lVar44 = (**(code **)(pcVar38 + 0x17828))(pcVar33)
                                                  ;
                                                  if (lVar44 == -1) {
                                                    (**(code **)(pcVar38 + 0x1787c))
                                                              (*(int *)(pcVar38 + 0x177c0) + -0x64d4
                                                              );
                                                    piVar14 = (int *)0x1;
                                                    goto LAB_000147ec;
                                                  }
                                                }
                                                else {
                                                  iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                     (&cStack_72c,
                                                                      *(int *)(pcVar38 + 0x177c0) +
                                                                      -0x6630);
                                                  if (iVar15 == 0) {
                                                    iVar15 = (**(code **)(pcVar38 + 0x1780c))
                                                                       (pcVar33);
                                                    bVar2 = iVar15 != 0;
                                                  }
                                                  else {
                                                    iVar15 = (**(code **)(pcVar38 + 0x178a8))
                                                                       (&cStack_72c);
                                                    if (iVar15 == 0) {
                                                      iVar15 = (**(code **)(pcVar38 + 0x1780c))
                                                                         (pcVar33);
                                                      *(bool *)(*(int *)(pcVar38 + 0x177b0) +
                                                               -0x4e17) = iVar15 != 0;
                                                    }
                                                    else {
                                                      iVar15 = (**(code **)(pcVar38 + 0x177fc))
                                                                         (&cStack_72c);
                                                      if (iVar15 == 0) {
                                                        uVar39 = (**(code **)(pcVar38 + 0x1780c))
                                                                           (pcVar33);
                                                        *(undefined4 *)
                                                         (*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =
                                                             uVar39;
                                                      }
                                                      else {
                                                        iVar15 = (**(code **)(pcVar38 + 0x17854))
                                                                           (&cStack_72c);
                                                        if (((iVar15 < 2) || (cStack_72c != '-')) ||
                                                           (acStack_72b[0] == '-')) {
                                                          iVar15 = (**(code **)(pcVar38 + 0x177fc))
                                                                             (&cStack_72c,
                                                                              *(int *)(pcVar38 +
                                                                                      0x177c0) +
                                                                              -0x6470,9);
                                                          iVar18 = *(int *)(pcVar38 + 0x177b0);
                                                          if (iVar15 != 0) {
                                                            iVar15 = (**(code **)(pcVar38 + 0x177fc)
                                                                     )(&cStack_72c,
                                                                       *(int *)(pcVar38 + 0x177c0) +
                                                                       -0x6464,9);
                                                            if (iVar15 != 0) {
                                                              iVar15 = (**(code **)(pcVar38 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar38 +
                                                                                          0x177c0) +
                                                                                  -0x6458,6);
                                                              if ((iVar15 == 0) ||
                                                                 (iVar15 = (**(code **)(pcVar38 +
                                                                                       0x178a8))
                                                                                     (&cStack_72c),
                                                                 iVar15 == 0)) {
                                                                FUN_00010fdc();
                                                                piVar14 = (int *)0x0;
                                                                goto LAB_000147ec;
                                                              }
                                                              iVar15 = (**(code **)(pcVar38 +
                                                                                   0x177fc))
                                                                                 (&cStack_72c,
                                                                                  *(int *)(pcVar38 +
                                                                                          0x177c0) +
                                                                                  -0x644c,6);
                                                              if (iVar15 != 0) {
                                                                iVar15 = (**(code **)(pcVar38 +
                                                                                     0x177fc))
                                                                                   (&cStack_72c,
                                                                                    *(int *)(pcVar38
                                                                                            + 
                                                  0x177c0) + -0x6444,6);
                                                  if (iVar15 == 0) {
                                                    bVar27 = true;
                                                    goto LAB_000139b8;
                                                  }
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x643c);
                                                  (**(code **)(pcVar38 + 0x1787c))
                                                            (*(int *)(pcVar38 + 0x177c0) + -0x6420);
                                                  piVar14 = (int *)0x1;
                                                  goto LAB_000147ec;
                                                  }
                                                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) =
                                                       *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                               -0x4e1c) + 1;
                                                  bVar3 = true;
                                                  goto LAB_000139b8;
                                                  }
                                                  iVar18 = *(int *)(pcVar38 + 0x177b0);
                                                  }
                                                  *(int *)(iVar18 + -0x4e14) =
                                                       *(int *)(iVar18 + -0x4e14) + 1;
                                                  }
                                                  else {
                                                    iVar15 = iVar15 + -1;
                                                    iVar18 = (*pcVar40)(acStack_72b,iVar15,100);
                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14)
                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                                   -0x4e14) + iVar18;
                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15,0x68);
                                                    if (0 < iVar19) {
                                                      FUN_00010fdc();
                                                      piVar14 = (int *)0x0;
                                                      goto LAB_000147ec;
                                                    }
                                                    iVar19 = (*pcVar40)(acStack_72b,iVar15);
                                                    if (0 < iVar19) {
                                                      bVar3 = true;
                                                    }
                                                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)
                                                         = *(int *)(*(int *)(pcVar38 + 0x177b0) +
                                                                   -0x4e1c) + iVar19;
                                                    iVar31 = (*pcVar40)(acStack_72b,iVar15,0x56);
                                                    if (0 < iVar31) {
                                                      bVar27 = true;
                                                    }
                                                    if (iVar18 + iVar19 + iVar31 < iVar15) {
                                                      (**(code **)(pcVar38 + 0x1787c))
                                                                (*(int *)(pcVar38 + 0x177c0) +
                                                                 -0x64a4);
                                                      piVar14 = (int *)0x1;
                                                      goto LAB_000147ec;
                                                    }
                                                  }
                                                  }
                                                  }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
LAB_000139b8:
    iVar12 = iVar12 + 1;
    if (iVar11 == iVar12) goto LAB_000146c0;
    goto LAB_000139c0;
  }
  if (iVar11 < 2) {
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63a4);
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
    piVar14 = (int *)0x1f;
    goto LAB_000147ec;
  }
  lVar43 = 0;
  pcStack_112c = (char *)0x80;
  bVar4 = false;
  iStack_110c = 0;
  lVar44 = 0;
  iStack_1110 = 0;
  bVar2 = false;
  bVar5 = false;
LAB_00017904:
  iVar11 = *(int *)(pcVar38 + 0x177b0);
LAB_00017908:
  iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);
  iStack_1120 = (int)lVar44;
  pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);
  uVar20 = (uint)lVar43;
  if (*(int *)(iVar11 + -20000) < 1) {
    *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000) = 0x200;
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6368);
  }
  if ((iStack_1110 == 0) ||
     (iVar11 = *(int *)(pcVar38 + 0x177c0),
     *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_1110)) {
    if ((iStack_110c == 0) || (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_110c)) {
      if ((lVar44 < 0) || (lVar43 < 0)) {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6308);
        piVar14 = (int *)0x1f;
        goto LAB_000147ec;
      }
      if ((*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') &&
         ((iVar11 = *(int *)(pcVar38 + 0x177c0), 0xffffffff < lVar43 ||
          ((pcStack_1138 == (char *)0x0 && (iVar11 = *(int *)(pcVar38 + 0x177c0), uVar20 != 0))))))
      {
        (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x62e4);
        piVar14 = (int *)0x1f;
        goto LAB_000147ec;
      }
      if ((int)pcStack_112c < 1) {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x62b8);
        piVar14 = (int *)0x1;
        goto LAB_000147ec;
      }
      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4f) == '\0') {
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x629c);
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      iVar12 = *(int *)(pcVar38 + 0x177bc);
      if ((0x7ff < *(int *)(iVar11 + -20000)) && (!bVar5)) {
        pcStack_112c = (char *)0x20;
      }
      FUN_00011670(2,iVar12 + 0x1730);
      FUN_00011670(3,iVar12 + 0x1730);
      FUN_00011670(0xd,iVar12 + 0x1730);
      FUN_00011670(0x10);
      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = 0xffffffff;
      *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = 0xffffffff;
      if (acStack_102c[0] == '\0') {
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
      else {
        if (acStack_102c[0] != '-') {
          iVar11 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);
          uStack_1108 = FUN_00011a10(acStack_102c);
          if (iVar11 != 0) {
            uVar39 = FUN_00011848(uStack_1108,acStack_a2c);
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x627c,uVar39);
          }
          if ((uStack_1108 & 0x80) == 0) {
            if (((uStack_1108 & 0x20) == 0) ||
               (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e50) == '\0')) {
              if ((uStack_1108 & 0x10) != 0) goto LAB_0001490c;
              if ((uStack_1108 & 2) != 0) goto LAB_00014ad0;
              uVar16 = 0;
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) != '\0') {
                uVar16 = 0x8000;
              }
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {
                uVar16 = uVar16 | 0x400;
              }
              if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {
                uVar16 = uVar16 | 0x4010;
              }
              iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar16);
              if (iStack_1134 < 0) {
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6168,
                           acStack_102c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iStack_1134 = -0xf;
                goto LAB_00014b8c;
              }
              if (iVar11 != 0) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6140);
              }
              if (lVar44 < 0x100000000) {
                if (iStack_1128 == 0) {
                  iVar12 = *(int *)(pcVar38 + 0x177b0);
                  if (iStack_1120 != 0) goto LAB_00014de0;
                }
                else {
LAB_00014a24:
                  iVar12 = *(int *)(pcVar38 + 0x177b0);
                }
              }
              else {
LAB_00014de0:
                iVar12 = (**(code **)(pcVar38 + 0x17870))(iStack_1134);
                if (iVar12 < 0) {
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6120,
                             acStack_102c);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  iStack_1134 = -0xf;
                  goto LAB_00014b8c;
                }
                if (iVar11 == 0) goto LAB_00014a24;
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60f0);
                iVar12 = *(int *)(pcVar38 + 0x177b0);
              }
              if ((*(int *)(iVar12 + -0x4e44) == 0) ||
                 (iVar11 = (**(code **)(pcVar38 + 0x17800))(iStack_1134), iVar11 == 0)) {
                iVar11 = *(int *)(pcVar38 + 0x177b0);
              }
              else {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x60bc);
                iVar11 = *(int *)(pcVar38 + 0x177b0);
              }
              if ((*(char *)(iVar11 + -0x4e52) == '\0') ||
                 (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), -1 < iVar11))
              goto LAB_00014f44;
LAB_00014a68:
              (**(code **)(pcVar38 + 0x177e8))(iStack_1134);
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,
                         acStack_102c);
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iStack_1134 = -0x5a;
            }
            else {
              uVar16 = uStack_1108 & 0x10;
              uStack_1108 = uStack_1108 | 2;
              if (uVar16 == 0) {
LAB_00014ad0:
                uVar16 = 0x8080;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e56) == '\0') {
                  uVar16 = 0x80;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e53) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                uVar26 = uVar16 | 2;
                uVar30 = uVar16;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e54) != '\0') {
                  uVar30 = uVar16 | 0x4010;
                  uVar26 = uVar16 | 0x4012;
                }
                iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar26);
                if (iStack_1134 < 0) {
                  iStack_1134 = (**(code **)(pcVar38 + 0x17838))(acStack_102c,uVar30);
                  uVar16 = 0;
                  if (iStack_1134 < 0) {
                    (**(code **)(pcVar38 + 0x178b4))
                              (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6218,
                               acStack_102c);
                    (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  uVar16 = 2;
                }
                if (iVar11 == 0) {
                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0);
                  if (iVar11 != 0) {
LAB_00014c94:
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);
                    iStack_1134 = -99;
                    goto LAB_00014b8c;
                  }
                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                }
                else {
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x61f0,uVar30 | uVar16);
                  iVar11 = (**(code **)(pcVar38 + 0x178b8))(iStack_1134,&uStack_1064,0,iVar11 + -1);
                  if (iVar11 != 0) goto LAB_00014c94;
                  *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e40) = (uint)bStack_1063;
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_102c,auStack_105c,
                             auStack_1053,auStack_1042,(uint)bStack_1063);
                }
                if ((uStack_1108 & 0x20) == 0) {
                  aiStack_10a4[0] =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;
                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2275,aiStack_10a4);
                  if (iVar11 < 0) {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);
                  }
                  iVar11 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2282,aiStack_10a4);
                  if ((iVar11 < 0) ||
                     (iVar11 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);
                    iStack_1134 = -0xf;
                    goto LAB_00014b8c;
                  }
                }
                else {
                  iVar11 = *(int *)(pcVar38 + 0x177b0);
                }
                if ((*(char *)(iVar11 + -0x4e52) != '\0') &&
                   (iVar11 = (**(code **)(pcVar38 + 0x1785c))(iStack_1134), iVar11 < 0))
                goto LAB_00014a68;
                if (-1 < iStack_1134) goto LAB_00014f44;
              }
              else {
LAB_0001490c:
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);
                iStack_1134 = -0xf;
              }
            }
          }
          else {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6260);
            iStack_1134 = -0xf;
          }
LAB_00014b8c:
          piVar14 = (int *)-iStack_1134;
          goto LAB_000147ec;
        }
        uStack_1108 = 1;
        iStack_1134 = 0;
      }
LAB_00014f44:
      iVar11 = 1;
      if (acStack_e2c[0] == '\0') {
        uStack_111c = 1;
      }
      else {
        if (acStack_e2c[0] != '-') {
          iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c);
          uStack_111c = FUN_00011a10(acStack_e2c);
          if (iVar12 != 0) {
            uVar39 = FUN_00011848(uStack_111c,acStack_a2c);
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6060,uVar39);
          }
          if (((uStack_111c & 0x20) == 0) ||
             (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e70) == '\0')) {
            if ((uStack_111c & 0x10) == 0) {
              if ((uStack_111c & 2) != 0) goto LAB_00014fbc;
              if ((uStack_111c & 8) != 0) {
                iVar11 = -1;
                goto LAB_00015058;
              }
              if ((uStack_111c & 4) == 0) {
                uVar16 = 0x8101;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
                  uVar16 = 0x101;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
                  uVar16 = uVar16 | 0x4010;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e78) != '\0') {
                  uVar16 = uVar16 | 8;
                }
                iVar11 = (**(code **)(pcVar38 + 0x1783c))(acStack_e2c,uVar16,0x1b6);
                if (-1 < iVar11) {
LAB_00015148:
                  if (iVar12 != 0) {
                    if ((uVar16 & 0x100) == 0) {
                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f0;
                    }
                    else {
                      iVar13 = *(int *)(pcVar38 + 0x177c0) + -0x66f8;
                    }
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x5fa0,iVar13,uVar16);
                  }
                  if (lVar43 < 0x100000000) {
                    if (pcStack_1138 == (char *)0x0) {
                      iVar13 = *(int *)(pcVar38 + 0x177b0);
                      if (uVar20 != 0) goto LAB_00015484;
                    }
                    else {
LAB_00015194:
                      iVar13 = *(int *)(pcVar38 + 0x177b0);
                    }
                  }
                  else {
LAB_00015484:
                    iVar13 = (**(code **)(pcVar38 + 0x17870))(iVar11);
                    if (iVar13 < 0) {
                      (**(code **)(pcVar38 + 0x178b4))
                                (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5f80,
                                 acStack_e2c);
                      (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                      iVar11 = -0xf;
                      goto LAB_0001557c;
                    }
                    if (iVar12 == 0) goto LAB_00015194;
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f50);
                    iVar13 = *(int *)(pcVar38 + 0x177b0);
                  }
                  if (*(char *)(iVar13 + -0x4e72) != '\0') goto LAB_00015558;
                  goto LAB_00015574;
                }
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,
                           acStack_e2c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iVar11 = -0xf;
              }
              else {
                uVar16 = 0x8001;
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
                  uVar16 = 1;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
                  uVar16 = uVar16 | 0x400;
                }
                if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
                  uVar16 = uVar16 | 0x4010;
                }
                iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c);
                if (-1 < iVar11) goto LAB_00015148;
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5fcc,
                           acStack_e2c);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                iVar11 = -0xf;
              }
              goto LAB_0001557c;
            }
LAB_000151ac:
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6244);
            iVar11 = -0xf;
          }
          else {
            uVar16 = uStack_111c & 0x10;
            uStack_111c = uStack_111c | 2;
            if (uVar16 != 0) goto LAB_000151ac;
LAB_00014fbc:
            uVar16 = 0x8082;
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e76) == '\0') {
              uVar16 = 0x82;
            }
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e73) != '\0') {
              uVar16 = uVar16 | 0x400;
            }
            if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e74) != '\0') {
              uVar16 = uVar16 | 0x4010;
            }
            iVar11 = (**(code **)(pcVar38 + 0x17838))(acStack_e2c,uVar16);
            if (iVar11 < 0) {
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6044,acStack_e2c
                        );
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iVar11 = -0xf;
              goto LAB_0001557c;
            }
            if (iVar12 == 0) {
              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0);
              if (iVar12 != 0) {
LAB_000152b0:
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x61c8);
                iVar11 = -99;
                goto LAB_0001557c;
              }
              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x601c,uVar16);
              iVar12 = (**(code **)(pcVar38 + 0x178b8))(iVar11,&uStack_1064,0,iVar12 + -1);
              if (iVar12 != 0) goto LAB_000152b0;
              *(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e60) = (uint)bStack_1063;
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x5618,acStack_e2c,auStack_105c,auStack_1053
                         ,auStack_1042,(uint)bStack_1063);
            }
            if ((uStack_111c & 0x20) == 0) {
              aiStack_10a4[0] = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcStack_112c;
              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2275,aiStack_10a4);
              if (iVar12 < 0) {
                (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x61b0);
              }
              iVar12 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2282,aiStack_10a4);
              if ((iVar12 < 0) || (iVar12 = *(int *)(pcVar38 + 0x177b0), aiStack_10a4[0] < 30000)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x618c);
                iVar11 = -0xf;
                goto LAB_0001557c;
              }
            }
            else {
LAB_00015058:
              iVar12 = *(int *)(pcVar38 + 0x177b0);
            }
            if (*(char *)(iVar12 + -0x4e72) == '\0') goto LAB_000155f8;
LAB_00015558:
            iVar12 = (**(code **)(pcVar38 + 0x1785c))(iVar11);
            if (iVar12 < 0) {
              (**(code **)(pcVar38 + 0x177e8))(iVar11);
              (**(code **)(pcVar38 + 0x178b4))
                        (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x6090,acStack_e2c
                        );
              (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
              iVar11 = -0x5a;
            }
            else {
LAB_00015574:
              if (-2 < iVar11) goto LAB_000155f8;
            }
          }
LAB_0001557c:
          piVar14 = (int *)-iVar11;
          goto LAB_000147ec;
        }
        uStack_111c = 1;
      }
LAB_000155f8:
      iVar12 = 1;
      if (acStack_c2c[0] == '\0') {
        iStack_110c = -1;
      }
      else {
        iVar12 = FUN_00011a10(acStack_c2c);
        iStack_110c = (**(code **)(pcVar38 + 0x1783c))(acStack_c2c,0x101,0x1b6);
        if (iStack_110c < 0) {
          puVar17 = (undefined4 *)(**(code **)(pcVar38 + 0x17830))();
          piVar14 = (int *)*puVar17;
          (**(code **)(pcVar38 + 0x178b4))
                    (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5ff4,acStack_c2c);
          (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
          goto LAB_000147ec;
        }
      }
      if (iStack_1134 == 0) {
        if (iVar11 == 1) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5f1c);
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
          piVar14 = (int *)0x1f;
          goto LAB_000147ec;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
LAB_00015624:
        iVar35 = *(int *)(iVar13 + -0x4fe0);
      }
      else {
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6f) == '\0') goto LAB_00015624;
        iVar35 = *(int *)(iVar13 + -0x4fe0);
        if (iVar11 == 1) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ee8);
          piVar14 = (int *)0x1f;
          goto LAB_000147ec;
        }
      }
      if (iVar35 < 0) {
LAB_00015648:
        uStack_10bc = 0xffffffff;
        pcStack_10c0 = (char *)0xffffffff;
        iStack_10cc = -1;
        if ((uStack_1108 & 2) == 0) {
          if ((uStack_1108 & 0x20) != 0) {
            iVar13 = FUN_00011508(iStack_1134,&pcStack_10c0,&iStack_10cc);
            if (iVar13 == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156b8;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4,acStack_102c);
              uStack_10bc = 0xffffffff;
              pcStack_10c0 = (char *)0xffffffff;
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10cc) goto LAB_000156f0;
            }
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);
            uStack_10bc = 0xffffffff;
            pcStack_10c0 = (char *)0xffffffff;
          }
        }
        else {
          iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          if (iVar13 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ebc);
            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          }
          else if (iVar13 == 0xb) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e90);
            iVar13 = FUN_000120d0(iStack_1134,&pcStack_10c0,&iStack_10cc);
          }
          if (iVar13 == 0) {
            if (iStack_10cc != *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000)) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);
            }
LAB_000156b8:
            if (lVar44 < CONCAT44(pcStack_10c0,uStack_10bc)) {
              pcStack_10c0 = pcStack_10c0 +
                             (-(uint)(uStack_10bc < uStack_10bc - iStack_1120) - iStack_1128);
              uStack_10bc = uStack_10bc - iStack_1120;
            }
          }
          else {
            if (iVar13 == 9) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);
            }
            else if (iVar13 == 2) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e40);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);
            }
            uStack_10bc = 0xffffffff;
            pcStack_10c0 = (char *)0xffffffff;
          }
        }
LAB_000156f0:
        uStack_10b4 = 0xffffffff;
        pcStack_10b8 = (char *)0xffffffff;
        iStack_10c8 = -1;
        if ((uStack_111c & 2) == 0) {
          iVar13 = *(int *)(pcVar38 + 0x177b0);
          if ((uStack_111c & 0x20) != 0) {
            iVar13 = FUN_00011508(iVar11,&pcStack_10b8,&iStack_10c8);
            if (iVar13 == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) == iStack_10c8) goto LAB_00015bb4;
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5dec);
              uStack_10b4 = 0xffffffff;
              pcStack_10b8 = (char *)0xffffffff;
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5db4);
              uStack_10b4 = 0xffffffff;
              pcStack_10b8 = (char *)0xffffffff;
            }
            goto LAB_00015be0;
          }
        }
        else {
          iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          if (iVar13 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d8c);
            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          }
          else if (iVar13 == 0xb) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d60);
            iVar13 = FUN_000120d0(iVar11,&pcStack_10b8,&iStack_10c8);
          }
          if (iVar13 == 0) {
            if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) != iStack_10c8) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5df8);
            }
LAB_00015bb4:
            if ((int)pcStack_10b8 <= (int)pcStack_1138) {
              if (pcStack_10b8 != pcStack_1138) goto LAB_00015be0;
              if (uStack_10b4 <= uVar20) {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                goto LAB_00015be4;
              }
            }
            pcStack_10b8 = pcStack_10b8 +
                           (-(uint)(uStack_10b4 < uStack_10b4 - uVar20) - (int)pcStack_1138);
            uStack_10b4 = uStack_10b4 - uVar20;
          }
          else {
            if (iVar13 == 9) {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e64);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5e18);
            }
            uStack_10b4 = 0xffffffff;
            pcStack_10b8 = (char *)0xffffffff;
          }
LAB_00015be0:
          iVar13 = *(int *)(pcVar38 + 0x177b0);
        }
LAB_00015be4:
        if (-1 < *(int *)(iVar13 + -0x4fe0)) {
LAB_00015bf0:
          iVar15 = *(int *)(pcVar38 + 0x177b0);
          goto LAB_00015bf4;
        }
        if ((0 < (int)pcStack_10c0) || ((pcStack_10c0 == (char *)0x0 && (uStack_10bc != 0)))) {
          if (((int)pcStack_10b8 < 1) && ((pcStack_10b8 != (char *)0x0 || (uStack_10b4 == 0)))) {
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            *(char **)(iVar13 + -0x4fe0) = pcStack_10c0;
            *(uint *)(iVar13 + -0x4fdc) = uStack_10bc;
          }
          else {
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            if (((int)pcStack_10b8 < (int)pcStack_10c0) ||
               ((pcVar33 = pcStack_10c0, uVar20 = uStack_10bc, pcStack_10c0 == pcStack_10b8 &&
                (uStack_10b4 < uStack_10bc)))) {
              pcVar33 = pcStack_10b8;
              uVar20 = uStack_10b4;
            }
            *(char **)(iVar13 + -0x4fe0) = pcVar33;
            *(uint *)(iVar13 + -0x4fdc) = uVar20;
          }
          goto LAB_00015bf0;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        *(char **)(iVar13 + -0x4fe0) = pcStack_10b8;
        *(uint *)(iVar13 + -0x4fdc) = uStack_10b4;
        pcVar33 = pcStack_10b8;
        uVar20 = uStack_10b4;
        if ((int)pcStack_10b8 < 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d34);
          piVar14 = (int *)0x63;
          goto LAB_000147ec;
        }
      }
      else {
        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 1) goto LAB_00015bf0;
        iVar15 = *(int *)(pcVar38 + 0x177b0);
        if (iVar35 == 0 && *(int *)(iVar13 + -0x4fdc) == 0) goto LAB_00015648;
LAB_00015bf4:
        pcVar33 = *(char **)(iVar15 + -0x4fe0);
        uVar20 = *(uint *)(iVar15 + -0x4fdc);
      }
      if (bVar4) {
LAB_00015cf0:
        iVar13 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        if ((((uStack_1108 & 2) != 0) && (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) != 0x10))
           && ((0xffffffff < lVar44 + CONCAT44(pcVar33,uVar20) || (0xffff < (int)pcStack_112c)))) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5d08);
          *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e4c) = 0x10;
        }
        iVar13 = *(int *)(pcVar38 + 0x177b0);
        if ((uStack_111c & 2) != 0) {
          if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) != 0x10) {
            if ((lVar43 + *(longlong *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) < 0x100000000) &&
               (iVar13 = *(int *)(pcVar38 + 0x177b0), (int)pcStack_112c < 0x10000))
            goto LAB_00015cf4;
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5ccc);
            *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e6c) = 0x10;
          }
          goto LAB_00015cf0;
        }
      }
LAB_00015cf4:
      iVar35 = *(int *)(pcVar38 + 0x177b0);
      if ((*(char *)(iVar13 + -0x4e76) == '\0') &&
         (iVar35 = *(int *)(pcVar38 + 0x177b0),
         (*(uint *)(*(int *)(pcVar38 + 0x177b0) + -0x4e58) & 0xffff00) == 0 &&
         ((uStack_111c | uStack_1108) & 4) == 0)) {
        iStack_113c = (**(code **)(pcVar38 + 0x177f0))
                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);
        if (iStack_113c == 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c6c);
          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      else {
        iStack_113c = (**(code **)(pcVar38 + 0x177f0))
                                ((int)pcStack_112c * *(int *)(iVar35 + -20000),0,&uStack_10c4,0);
        if (iStack_113c == 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c90);
          piVar14 = (int *)(**(code **)(pcVar38 + 0x17824))(0xc);
          goto LAB_000147ec;
        }
      }
      iVar13 = *(int *)(pcVar38 + 0x177b0);
      if (*(char *)(*(int *)(pcVar38 + 0x177b0) + -0x4e17) != '\0') {
        *(undefined4 *)(iVar13 + -0x4e30) = 0;
        *(undefined4 *)(iVar13 + -0x4e2c) = 0;
        (**(code **)(pcVar38 + 0x17884))();
        *(undefined1 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e18) = 1;
      }
      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e14) < 1) {
        iVar13 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0);
        pcVar33 = *(char **)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc);
        if ((iVar13 < 1) && ((iVar13 != 0 || (pcVar33 == (char *)0x0)))) {
          piVar14 = (int *)0x0;
          iStack_10f4 = 0;
        }
        else {
          iStack_10f4 = 0;
          pcStack_1124 = (char *)0x0;
          iVar35 = *(int *)(pcVar38 + 0x177b0);
          iVar15 = iVar35 + -0x4e58;
          iVar18 = *(int *)(pcVar38 + 0x177b0);
          iVar19 = *(int *)(pcVar38 + 0x177c0);
          cVar6 = '\0';
          while( true ) {
            pcStack_1138 = (char *)((ulonglong)lVar43 >> 0x20);
            uVar39 = (undefined4)lVar43;
            iStack_1128 = (int)((ulonglong)lVar44 >> 0x20);
            iStack_1120 = (int)lVar44;
            if ((iVar13 < (int)pcStack_112c >> 0x1f) ||
               ((pcVar25 = pcStack_112c, (int)pcStack_112c >> 0x1f == iVar13 &&
                (pcVar33 < pcStack_112c)))) {
              pcVar25 = pcVar33;
            }
            if ((uStack_1108 & 2) != 0) break;
            iVar24 = *(int *)(pcVar38 + 0x177b0);
            iVar31 = *(int *)(iVar24 + -20000);
            while (iVar13 = (**(code **)(pcVar38 + 0x178a0))
                                      (iStack_1134,iStack_113c,(int)pcVar25 * iVar31), iVar13 < 0) {
              piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
              iVar31 = *(int *)(iVar24 + -20000);
              if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x555c,
                             (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar13);
                }
                (**(code **)(pcVar38 + 0x178b4))
                          (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5bac);
                (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                piVar14 = (int *)0xffffffff;
                goto LAB_0001628c;
              }
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x555c,
                         (int)pcVar25 * *(int *)(iVar31 + -20000),iVar13);
              iVar31 = *(int *)(pcVar38 + 0x177b0);
            }
            iVar24 = *(int *)(iVar31 + -20000);
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (iVar13 < iVar24 * (int)pcVar25) {
              *(undefined4 *)(iVar31 + -0x4fdc) = 0;
              *(undefined4 *)(iVar31 + -0x4fe0) = 0;
              if (iVar24 == 0) {
                trap(7);
              }
              pcVar25 = (char *)(iVar13 / iVar24);
              if (0 < iVar13 % iVar24) {
                pcVar25 = pcVar25 + 1;
                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) =
                     *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4de8) + 1;
              }
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            pcVar33 = *(char **)(iVar31 + -0x4ddc) + (int)pcVar25;
            *(uint *)(iVar31 + -0x4de0) =
                 ((int)pcVar25 >> 0x1f) +
                 (uint)(pcVar33 < *(char **)(iVar31 + -0x4ddc)) + *(int *)(iVar31 + -0x4de0);
            *(char **)(iVar31 + -0x4ddc) = pcVar33;
LAB_0001775c:
            if (pcVar25 == (char *)0x0) {
LAB_00017264:
              piVar14 = (int *)0x0;
              goto LAB_0001726c;
            }
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            if (acStack_c2c[0] == '\0') {
              iStack_10fc = 0;
LAB_00017770:
              cVar1 = *(char *)(iVar18 + -0x4e6f);
            }
            else {
              iVar24 = *(int *)(iVar31 + -20000);
              while (iStack_10fc = (**(code **)(pcVar38 + 0x17844))
                                             (iStack_110c,iStack_113c,(int)pcVar25 * iVar24),
                    iStack_10fc < 0) {
                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                iVar24 = *(int *)(iVar31 + -20000);
                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x557c,
                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),
                               iStack_10fc);
                  }
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5b90);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 3) goto LAB_00017770;
              (**(code **)(pcVar38 + 0x1787c))
                        (*(int *)(pcVar38 + 0x177c0) + -0x557c,
                         (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iStack_10fc);
              cVar1 = *(char *)(iVar18 + -0x4e6f);
            }
            iVar31 = (int)pcVar25 >> 0x1f;
            if ((cVar1 == '\0') ||
               ((iVar24 = *(int *)(pcVar38 + 0x177b0), *(int *)(iVar24 + -0x4fe0) <= iVar31 &&
                ((*(int *)(iVar24 + -0x4fe0) != iVar31 || (*(char **)(iVar24 + -0x4fdc) <= pcVar25))
                )))) {
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if ((uStack_111c & 8) != 0) {
                iVar24 = *(int *)(pcVar38 + 0x177b0);
                goto LAB_00016710;
              }
LAB_000175a8:
              iVar29 = *(int *)(iVar24 + -20000);
              while (iVar23 = (**(code **)(pcVar38 + 0x17844))
                                        (iVar11,iStack_113c,(int)pcVar25 * iVar29), iVar23 < 0) {
                piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                iVar29 = *(int *)(iVar24 + -20000);
                if ((*piVar14 != 4) && (*piVar14 != 0xb)) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x559c,
                               (int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar23)
                    ;
                  }
                  (**(code **)(pcVar38 + 0x178b4))
                            (acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x5844);
                  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                (**(code **)(pcVar38 + 0x1787c))
                          (*(int *)(pcVar38 + 0x177c0) + -0x559c,
                           (int)pcVar25 * *(int *)(iVar24 + -20000),iVar23);
                iVar24 = *(int *)(pcVar38 + 0x177b0);
              }
              iVar29 = *(int *)(pcVar38 + 0x177b0);
              if (iVar23 < (int)pcVar25 * *(int *)(iVar24 + -20000)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5828);
                iVar12 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000);
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                if (iVar12 == 0) {
                  trap(7);
                }
                uVar20 = *(uint *)(iVar13 + -0x4dec) + iVar23 / iVar12;
                *(uint *)(iVar13 + -0x4df0) =
                     *(int *)(iVar13 + -0x4df0) + (iVar23 / iVar12 >> 0x1f) +
                     (uint)(uVar20 < *(uint *)(iVar13 + -0x4dec));
                *(uint *)(iVar13 + -0x4dec) = uVar20;
                if (iVar23 % iVar12 < 1) {
                  piVar14 = (int *)0xffffffff;
                }
                else {
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4df8) + 1;
                  piVar14 = (int *)0xffffffff;
                }
                goto LAB_0001628c;
              }
              pcVar33 = *(char **)(iVar29 + -0x4dec) + (int)pcVar25;
              *(uint *)(iVar29 + -0x4df0) =
                   (uint)(pcVar33 < *(char **)(iVar29 + -0x4dec)) +
                   *(int *)(iVar29 + -0x4df0) + iVar31;
              *(char **)(iVar29 + -0x4dec) = pcVar33;
              cVar1 = '\0';
              pcStack_1124 = pcVar25;
            }
            else if ((uStack_111c & 8) == 0) {
              if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) == 0) {
                iVar24 = (**(code **)(pcVar38 + 0x177f0))
                                   ((int)pcVar25 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),0,
                                    *(int *)(pcVar38 + 0x177b0) + -0x4e38,0);
                *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34) = iVar24;
                if (iVar24 == 0) {
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b6c);
                  piVar14 = (int *)0xffffffff;
                  goto LAB_0001628c;
                }
              }
              iVar24 = (**(code **)(pcVar38 + 0x17888))
                                 (iStack_113c,*(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -0x4e34)
                                  ,*(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) * (int)pcVar25);
              if (iVar24 == 0) {
                if ((uStack_111c & 2) == 0) {
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5b10);
                  }
                  iVar24 = (**(code **)(pcVar38 + 0x17870))(iVar11);
                  if (iVar24 < 0) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5adc);
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a98);
                    piVar14 = (int *)0xf;
                    goto LAB_0001628c;
                  }
                  if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c) < 5) {
                    iVar24 = *(int *)(pcVar38 + 0x177b0);
                  }
                  else {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a84);
                    iVar24 = *(int *)(pcVar38 + 0x177b0);
                  }
                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;
                  *(uint *)(iVar24 + -0x4e00) =
                       *(int *)(iVar24 + -0x4e00) +
                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) + iVar31;
                  *(char **)(iVar24 + -0x4dfc) = pcVar33;
                  iVar23 = 0;
                  pcStack_1124 = pcVar25;
                }
                else {
                  iVar24 = *(int *)(pcVar38 + 0x177b0);
                  pcVar33 = *(char **)(iVar24 + -0x4dfc) + (int)pcVar25;
                  *(uint *)(iVar24 + -0x4e00) =
                       (uint)(pcVar33 < *(char **)(iVar24 + -0x4dfc)) +
                       *(int *)(iVar24 + -0x4e00) + iVar31;
                  *(char **)(iVar24 + -0x4dfc) = pcVar33;
                  iVar23 = 0;
                  pcStack_1124 = pcVar25;
                  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))
                              (*(int *)(pcVar38 + 0x177c0) + -0x5b4c,pcVar33,pcStack_1138,uVar39,
                               pcVar25);
                  }
                }
              }
              else {
                iVar24 = *(int *)(pcVar38 + 0x177b0);
                if ((uStack_111c & 2) == 0) goto LAB_000175a8;
LAB_00017554:
                cStack_10d5 = *(char *)(iVar18 + -0x4e77);
                iVar34 = *(int *)(iVar18 + -0x4e5c);
                bVar3 = true;
                iVar31 = *(int *)(pcVar38 + 0x177b0);
                iVar24 = *(int *)(pcVar38 + 0x177bc);
                iVar23 = *(int *)(pcVar38 + 0x177b0);
                iVar29 = *(int *)(pcVar38 + 0x177c0);
LAB_000169f8:
                iVar36 = *(int *)(iVar31 + -20000);
                uStack_10ac = 0;
                uStack_10b0 = 0;
                pcVar33 = pcStack_1138;
                iVar22 = (*(code *)(iVar24 + 0x1dd4))
                                   (auStack_103c,*(undefined4 *)(iVar18 + -0x4e6c),pcVar25);
                if (iVar22 == 0) {
                  (**(code **)(pcVar38 + 0x17834))(auStack_109a,0,0x36);
                  aiStack_10a4[0] = 0x53;
                  uStack_109c = (undefined1)*(undefined4 *)(iVar18 + -0x4e6c);
                  puStack_1090 = auStack_103c;
                  aiStack_10a4[1] = 0xfffffffe;
                  iStack_1098 = iVar36 * (int)pcVar25;
                  iStack_1094 = iStack_113c;
                  uStack_109b = 0x40;
                  pcStack_108c = acStack_a2c;
                  uStack_1088 = 60000;
                  if (cStack_10d5 != '\0') {
                    uStack_1084 = 1;
                  }
                  uStack_1080 = uVar39;
                  if (2 < *(int *)(iVar23 + -0x4e1c)) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a2c);
                    puVar28 = auStack_103c;
                    if (0 < *(int *)(iVar18 + -0x4e6c)) {
                      iVar22 = 0;
                      do {
                        (**(code **)(pcVar38 + 0x1787c))(iVar29 + -0x6cd8,*puVar28);
                        iVar22 = iVar22 + 1;
                        puVar28 = puVar28 + 1;
                      } while (iVar22 < *(int *)(iVar18 + -0x4e6c));
                    }
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6424);
                  }
                  do {
                    iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2285,aiStack_10a4);
                    if (-1 < iVar22) {
                      if (2 < *(int *)(iVar23 + -0x4e1c)) {
                        (**(code **)(pcVar38 + 0x1787c))
                                  (*(int *)(pcVar38 + 0x177c0) + -0x6cac,uStack_106c);
                      }
                      piVar14 = (int *)(**(code **)(pcVar38 + 0x17840))(aiStack_10a4);
                      if (piVar14 < (int *)0x16) {
                    /* WARNING: Could not recover jumptable at 0x00016c20. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        piVar14 = (int *)(*(pcVar38 +
                                           *(int *)(iVar19 + -0x53e8 + (int)piVar14 * 4) + 0x1f788))
                                                   ();
                        return piVar14;
                      }
                      (**(code **)(pcVar38 + 0x177e0))
                                (*(int *)(pcVar38 + 0x177c0) + -0x6024,aiStack_10a4,
                                 1 < *(int *)(iVar23 + -0x4e1c));
                      *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =
                           *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + 1;
                      if (*(int *)(iVar18 + -0x4e68) == 0) {
                        if (piVar14 == (int *)0x0) goto LAB_00016e38;
                        goto LAB_00016978;
                      }
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x596c);
                      iVar31 = *(int *)(pcVar38 + 0x177b0);
                      goto LAB_00016e3c;
                    }
                    piVar14 = (int *)(**(code **)(pcVar38 + 0x17830))();
                    iVar22 = *piVar14;
                  } while ((iVar22 == 4) || (iVar22 == 0xb));
                  if (iVar22 == 0xc) {
                    piVar14 = (int *)&SUB_fffffffe;
                  }
                  else {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5a1c);
                    piVar14 = (int *)0xffffffff;
                  }
                }
                else {
                  pcVar33 = pcVar25;
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5a60);
                  piVar14 = (int *)0x1;
                }
LAB_00016978:
                if ((undefined1 *)((int)piVar14 + -1) < (undefined1 *)0x2) goto LAB_00016fcc;
                if (piVar14 == (int *)&SUB_fffffffe) {
                  if (!bVar3) {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
                    goto LAB_00016ea0;
                  }
                  iVar22 = (**(code **)(pcVar38 + 0x17878))(iVar11,0x2272,&iStack_10d4);
                  if (iVar22 < 0) {
                    (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);
                    goto LAB_00016fcc;
                  }
                  if (iStack_10d4 < 0x2000) {
                    iStack_10d4 = 0x2000;
                  }
                  iVar22 = *(int *)(iVar31 + -20000);
                  if (iVar22 == 0) {
                    trap(7);
                  }
                  pcVar41 = (char *)((iVar22 + iStack_10d4 + -1) / iVar22);
                  if ((int)pcVar25 <= (int)pcVar41) goto LAB_00016fcc;
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5938,pcVar41);
                  pcStack_112c = pcVar41;
LAB_000169f4:
                  bVar3 = false;
                  pcVar25 = pcVar41;
                  goto LAB_000169f8;
                }
                if (piVar14 == (int *)0x6) {
                  if (!bVar3) goto LAB_000169a4;
                  iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) + -1;
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe8) = iVar22;
                  if (iVar22 < 1) {
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58f0);
                    goto LAB_00016fcc;
                  }
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5910);
                  bVar3 = false;
                  goto LAB_000169f8;
                }
                if (piVar14 == (int *)0xb) {
                  if (bVar3) {
                    iVar22 = *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) + -1;
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fec) = iVar22;
                    if (iVar22 < 1) {
                      (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58ac);
                      goto LAB_00016fcc;
                    }
                    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x58d0);
                    bVar3 = false;
                    goto LAB_000169f8;
                  }
                }
                else if ((int)piVar14 < 0) {
                  iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
                  goto LAB_00016ea0;
                }
LAB_000169a4:
                if (0 < iVar34) {
                  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x588c);
                  *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) =
                       *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e10) + 1;
                  iVar34 = iVar34 + -1;
                  pcVar41 = pcVar25;
                  if (0 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08)) {
                    *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) =
                         *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e08) + -1;
                  }
                  goto LAB_000169f4;
                }
                if (piVar14 != (int *)0x0) {
LAB_00016fcc:
                  if (piVar14 == (int *)&SUB_fffffffe) {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
                  }
                  else {
                    iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
                  }
LAB_00016ea0:
                  (**(code **)(pcVar38 + 0x1787c))
                            (*(int *)(pcVar38 + 0x177c0) + -0x5864,iVar12,pcStack_1138,uVar39,
                             pcVar33);
                  goto LAB_0001628c;
                }
LAB_00016e38:
                iVar31 = *(int *)(pcVar38 + 0x177b0);
LAB_00016e3c:
                pcVar33 = *(char **)(iVar31 + -0x4dec) + (int)pcVar25;
                *(uint *)(iVar31 + -0x4df0) =
                     ((int)pcVar25 >> 0x1f) +
                     (uint)(pcVar33 < *(char **)(iVar31 + -0x4dec)) + *(int *)(iVar31 + -0x4df0);
                *(char **)(iVar31 + -0x4dec) = pcVar33;
                pcStack_1124 = pcVar25;
                if (*(char *)(iVar18 + -0x4e77) == '\0') {
                  iVar23 = 0;
                  cVar1 = '\0';
                }
                else if (cStack_10d5 == '\0') {
                  iStack_10f4 = iStack_10f4 + 1;
                  iVar23 = 0;
                  cVar1 = '\0';
                }
                else {
                  cVar1 = '\0';
                  iVar23 = 0;
                }
              }
            }
            else {
              iVar24 = *(int *)(pcVar38 + 0x177b0);
              if ((uStack_111c & 2) != 0) goto LAB_00017554;
LAB_00016710:
              pcVar33 = *(char **)(iVar24 + -0x4dec) + (int)pcVar25;
              *(uint *)(iVar24 + -0x4df0) =
                   (uint)(pcVar33 < *(char **)(iVar24 + -0x4dec)) +
                   *(int *)(iVar24 + -0x4df0) + iVar31;
              *(char **)(iVar24 + -0x4dec) = pcVar33;
              cVar1 = '\0';
              iVar23 = 0;
              pcStack_1124 = pcVar25;
            }
            if (((*(int *)(iVar35 + -0x4e44) == 0) || (iVar13 < 1)) ||
               (uStack_1108 != 1 && uStack_1108 != 0x20)) {
LAB_00016760:
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            else {
              iVar13 = (**(code **)(pcVar38 + 0x17800))
                                 (iStack_1134,iStack_1120,0,0,
                                  lVar44 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000) +
                                  (longlong)iVar13,4);
              if (iVar13 == 0) goto LAB_00016760;
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5800);
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            if (((((uVar20 & 2) == 0) || (iStack_10fc < 1)) || (iVar12 != 1 && iVar12 != 0x20)) ||
               (iVar13 = (**(code **)(pcVar38 + 0x17800))(iStack_110c), iVar13 == 0)) {
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            else {
              (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57d4);
              uVar20 = *(uint *)(iVar18 + -0x4e64);
            }
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            if (((uVar20 & 1) != 0) && (0 < iVar23)) {
              if ((uStack_111c == 1 || uStack_111c == 0x20) &&
                 (iVar13 = (**(code **)(pcVar38 + 0x17800))(iVar11), iVar13 != 0)) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x57a8);
                iVar13 = *(int *)(pcVar38 + 0x177b0);
              }
              else {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
              }
            }
            iVar31 = *(int *)(iVar13 + -0x4fe0);
            pcVar25 = *(char **)(iVar13 + -0x4fdc);
            if (iVar31 < 1) {
              piVar14 = (int *)0x0;
              if (iVar31 != 0) goto LAB_0001726c;
              if (pcVar25 == (char *)0x0) goto LAB_00017264;
            }
            pcVar33 = pcVar25 + -(int)pcStack_1124;
            iVar13 = (iVar31 - ((int)pcStack_1124 >> 0x1f)) - (uint)(pcVar25 < pcVar33);
            iVar31 = *(int *)(pcVar38 + 0x177b0);
            *(int *)(iVar31 + -0x4fe0) = iVar13;
            *(char **)(iVar31 + -0x4fdc) = pcVar33;
            lVar42 = lVar44 + (int)pcStack_1124;
            lVar7 = lVar43 + (int)pcStack_1124;
            if ((iVar13 < 1) && ((piVar14 = (int *)0x0, iVar13 != 0 || (pcVar33 == (char *)0x0))))
            goto LAB_0001726c;
            cVar6 = cVar1;
            lVar44 = lVar44 + (int)pcStack_1124;
            lVar43 = lVar43 + (int)pcStack_1124;
            if (cVar1 == '\0') {
              pcStack_1124 = (char *)0x0;
              lVar44 = lVar42;
              lVar43 = lVar7;
            }
          }
          cStack_10d5 = *(char *)(iVar35 + -0x4e57);
          ppcVar45 = &pcStack_10d0;
          pcVar41 = &cStack_10d5;
          uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);
          iVar13 = iVar15;
          piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar25,pcVar33,lVar44,uVar21,iVar15
                                        ,pcVar41,ppcVar45);
          pcVar33 = pcVar25;
          if (piVar14 == (int *)&SUB_fffffffe) {
            iVar31 = (**(code **)(pcVar38 + 0x17878))(iStack_1134,0x2272,&iStack_10d4);
            if (-1 < iVar31) {
              iVar31 = *(int *)(pcVar38 + 0x177b0);
              if (iStack_10d4 < 0x2000) {
                iStack_10d4 = 0x2000;
                iVar31 = *(int *)(pcVar38 + 0x177b0);
              }
              iVar31 = *(int *)(iVar31 + -20000);
              if (iVar31 == 0) {
                trap(7);
              }
              pcVar33 = (char *)((iVar31 + iStack_10d4 + -1) / iVar31);
              if ((int)pcVar33 < (int)pcVar25) {
                (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c08,pcVar33);
                ppcVar45 = &pcStack_10d0;
                pcVar41 = &cStack_10d5;
                uVar21 = *(undefined4 *)(*(int *)(pcVar38 + 0x177b0) + -20000);
                iVar13 = iVar15;
                piVar14 = (int *)FUN_00012d68(iStack_1134,iStack_113c,pcVar33);
                pcStack_112c = pcVar33;
                goto LAB_000168d4;
              }
              goto LAB_00016248;
            }
            (**(code **)(pcVar38 + 0x17874))(*(int *)(pcVar38 + 0x177c0) + -0x5c24);
          }
          else {
LAB_000168d4:
            if (piVar14 == (int *)0x0) {
              iVar13 = *(int *)(pcVar38 + 0x177b0);
              pcVar25 = pcVar33;
              if ((int)pcStack_10d0 < (int)pcVar33) {
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                *(undefined4 *)(iVar13 + -0x4fdc) = 0;
                *(undefined4 *)(iVar13 + -0x4fe0) = 0;
                iVar13 = *(int *)(pcVar38 + 0x177b0);
                pcVar25 = pcStack_10d0;
              }
              pcVar33 = *(char **)(iVar13 + -0x4ddc) + (int)pcVar25;
              *(uint *)(iVar13 + -0x4de0) =
                   ((int)pcVar25 >> 0x1f) +
                   (uint)(pcVar33 < *(char **)(iVar13 + -0x4ddc)) + *(int *)(iVar13 + -0x4de0);
              *(char **)(iVar13 + -0x4ddc) = pcVar33;
              iVar13 = 0;
              if ((*(char *)(iVar35 + -0x4e57) != '\0') && (cStack_10d5 == '\0')) {
                iStack_10f4 = iStack_10f4 + 1;
              }
              goto LAB_0001775c;
            }
LAB_00016248:
            if (piVar14 == (int *)&SUB_fffffffe) {
              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x66e8;
            }
            else {
              iVar12 = *(int *)(pcVar38 + 0x177c0) + -0x7604;
            }
            (**(code **)(pcVar38 + 0x1787c))
                      (*(int *)(pcVar38 + 0x177c0) + -0x5be0,iVar12,iStack_1128,iStack_1120,lVar44,
                       uVar21,iVar13,pcVar41,ppcVar45);
          }
LAB_0001628c:
          if (((cVar6 != '\0') && (0 < (int)pcStack_1124)) && ((uStack_111c & 10) == 0)) {
            iVar35 = *(int *)(pcVar38 + 0x177b0);
            iVar13 = *(int *)(pcVar38 + 0x177b0);
            iVar12 = *(int *)(iVar35 + -20000);
            goto LAB_000162c4;
          }
        }
LAB_0001726c:
        iVar12 = *(int *)(pcVar38 + 0x177b0);
        if ((bVar2) && (iVar12 = *(int *)(pcVar38 + 0x177b0), (uStack_111c & 2) != 0)) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x574c,acStack_e2c);
          iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,1,0);
          if (iVar12 == 6) {
            (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x572c);
            iVar12 = (**(code **)(pcVar38 + 0x177ec))(iVar11,0,0,0,0,0,0,0);
          }
          if (iVar12 == 0) goto LAB_00016028;
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56fc);
          iVar12 = *(int *)(pcVar38 + 0x177b0);
        }
      }
      else {
        (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5c54);
        piVar14 = (int *)0x0;
        iStack_10f4 = 0;
LAB_00016028:
        iVar12 = *(int *)(pcVar38 + 0x177b0);
      }
      if (*(char *)(iVar12 + -0x4e17) != '\0') {
        FUN_00011264(0);
      }
      (**(code **)(pcVar38 + 0x17898))(uStack_10c4);
      if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e38) != 0) {
        (**(code **)(pcVar38 + 0x17898))();
      }
      if (iStack_1134 != 0) {
        (**(code **)(pcVar38 + 0x177e8))(iStack_1134);
      }
      if ((iVar11 == 1) || ((uStack_111c & 8) != 0)) {
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      else {
        (**(code **)(pcVar38 + 0x177e8))(iVar11);
        iVar11 = *(int *)(pcVar38 + 0x177b0);
      }
      if (*(int *)(iVar11 + -0x4e14) < 1) {
        if (*(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fe0) == 0 &&
            *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4fdc) == 0) {
          iVar11 = *(int *)(pcVar38 + 0x177c0);
        }
        else {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56dc);
          iVar11 = *(int *)(pcVar38 + 0x177c0);
          if (piVar14 == (int *)0x0) {
            piVar14 = (int *)0x63;
          }
        }
        FUN_00011048(iVar11 + -0x7604);
        if (iStack_10f4 == 0) {
LAB_000160d8:
          iVar11 = *(int *)(pcVar38 + 0x177b0);
        }
        else {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x56c4,iStack_10f4);
          iVar11 = (**(code **)(pcVar38 + 0x1783c))(*(int *)(pcVar38 + 0x177c0) + -0x5694,0);
          if (iVar11 < 0) goto LAB_000160d8;
          iVar12 = (**(code **)(pcVar38 + 0x178a0))(iVar11,aiStack_10a4,1);
          if ((iVar12 == 1) && (aiStack_10a4[0]._0_1_ == '0')) {
            (**(code **)(pcVar38 + 0x1787c))
                      (*(int *)(pcVar38 + 0x177c0) + -0x567c,*(int *)(pcVar38 + 0x177c0) + -0x5694);
          }
          (**(code **)(pcVar38 + 0x177e8))(iVar11);
          iVar11 = *(int *)(pcVar38 + 0x177b0);
        }
        if (*(int *)(iVar11 + -0x4dd8) != 0) {
          (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x5640);
        }
      }
      if ((int)piVar14 < 0) {
        piVar14 = (int *)0x63;
      }
      goto LAB_000147ec;
    }
    iVar11 = *(int *)(pcVar38 + 0x177c0);
  }
  (**(code **)(pcVar38 + 0x1787c))(iVar11 + -0x6338);
  (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x6420);
  piVar14 = (int *)0x1f;
LAB_000147ec:
  if (iStack_32c != **(int **)(pcVar38 + 0x17890)) {
    pcVar38 = *(code **)(pcVar38 + 0x17880);
    (*pcVar38)();
    return *(int **)(pcVar38 + 0x13608);
  }
  return piVar14;
LAB_000146c0:
  if (!bVar3) {
    if (bVar27) goto LAB_000146f4;
    goto LAB_00017904;
  }
  iVar11 = *(int *)(pcVar38 + 0x177b0);
  if (bVar27) {
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63fc);
LAB_000146f4:
    (**(code **)(pcVar38 + 0x1787c))(*(int *)(pcVar38 + 0x177c0) + -0x63b8);
    piVar14 = (int *)0x0;
    goto LAB_000147ec;
  }
  goto LAB_00017908;
  while( true ) {
    piVar8 = (int *)(**(code **)(pcVar38 + 0x17830))();
    iVar12 = *(int *)(iVar35 + -20000);
    if ((*piVar8 != 4) && (*piVar8 != 0xb)) break;
LAB_000162c4:
    iVar15 = (**(code **)(pcVar38 + 0x17844))
                       (iVar11,*(undefined4 *)(iVar13 + -0x4e34),(int)pcStack_1124 * iVar12);
    if (-1 < iVar15) {
      if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
        (**(code **)(pcVar38 + 0x1787c))
                  (*(int *)(pcVar38 + 0x177c0) + -0x55d0,
                   (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);
      }
      goto LAB_0001726c;
    }
  }
  if (2 < *(int *)(*(int *)(pcVar38 + 0x177b0) + -0x4e1c)) {
    (**(code **)(pcVar38 + 0x1787c))
              (*(int *)(pcVar38 + 0x177c0) + -0x55d0,
               (int)pcStack_1124 * *(int *)(*(int *)(pcVar38 + 0x177b0) + -20000),iVar15);
  }
  (**(code **)(pcVar38 + 0x178b4))(acStack_a2c,0x300,1,0x300,*(int *)(pcVar38 + 0x177c0) + -0x577c);
  (**(code **)(pcVar38 + 0x17874))(acStack_a2c);
  goto LAB_0001726c;
}

